The Gaudi Framework  v32r2 (46d42edc)
IUpdateManagerSvc::PtrSetter< ActualType > Class Template Referencefinal

Templated specialization of BasePtrSetter. More...

Inheritance diagram for IUpdateManagerSvc::PtrSetter< ActualType >:
Collaboration diagram for IUpdateManagerSvc::PtrSetter< ActualType >:

Public Types

using dest_type = ActualType
 

Public Member Functions

 PtrSetter (dest_type *&dest)
 
void set (DataObject *obj) override
 sets the internal pointer to the provided data object (with a dynamic_cast). More...
 
bool isNull () override
 tells if the internal pointer is nullptr. More...
 
- Public Member Functions inherited from BasePtrSetter
virtual ~BasePtrSetter ()=default
 Empty virtual destructor. More...
 

Private Attributes

dest_type ** m_storage
 pointer to the pointer to fill provided by the user. More...
 

Detailed Description

template<class ActualType>
class IUpdateManagerSvc::PtrSetter< ActualType >

Templated specialization of BasePtrSetter.

Definition at line 139 of file IUpdateManagerSvc.h.

Member Typedef Documentation

◆ dest_type

template<class ActualType >
using IUpdateManagerSvc::PtrSetter< ActualType >::dest_type = ActualType

Definition at line 141 of file IUpdateManagerSvc.h.

Constructor & Destructor Documentation

◆ PtrSetter()

template<class ActualType >
IUpdateManagerSvc::PtrSetter< ActualType >::PtrSetter ( dest_type *&  dest)
inline

Definition at line 142 of file IUpdateManagerSvc.h.

142 : m_storage( &dest ) { *m_storage = nullptr; }
dest_type ** m_storage
pointer to the pointer to fill provided by the user.

Member Function Documentation

◆ isNull()

template<class ActualType >
bool IUpdateManagerSvc::PtrSetter< ActualType >::isNull ( )
inlineoverridevirtual

tells if the internal pointer is nullptr.

Implements BasePtrSetter.

Definition at line 144 of file IUpdateManagerSvc.h.

144 { return *m_storage == nullptr; }
dest_type ** m_storage
pointer to the pointer to fill provided by the user.

◆ set()

template<class ActualType >
void IUpdateManagerSvc::PtrSetter< ActualType >::set ( DataObject )
inlineoverridevirtual

sets the internal pointer to the provided data object (with a dynamic_cast).

Implements BasePtrSetter.

Definition at line 143 of file IUpdateManagerSvc.h.

143 { *m_storage = dynamic_cast<dest_type*>( obj ); }
dest_type ** m_storage
pointer to the pointer to fill provided by the user.

Member Data Documentation

◆ m_storage

template<class ActualType >
dest_type** IUpdateManagerSvc::PtrSetter< ActualType >::m_storage
private

pointer to the pointer to fill provided by the user.

Definition at line 148 of file IUpdateManagerSvc.h.


The documentation for this class was generated from the following file: