Provide an interface for finding inheritance information at run time.
More...
#include <BaseInfo.h>
template<class T>
class SG::BaseInfo< T >
Provide an interface for finding inheritance information at run time.
See the file comments for full details.
Definition at line 750 of file Control/AthenaKernel/AthenaKernel/BaseInfo.h.
◆ baseinfo()
◆ cast() [1/2]
Cast to a base pointer.
- Parameters
-
p | The pointer to cast. |
clid | ID of the class to which to cast. |
- Returns
- The pointer cast to the requested type, returned as a void*. clid must be known to be a base of T; otherwise, 0 will be returned.
◆ cast() [2/2]
Cast to a base pointer.
- Parameters
-
p | The pointer to cast. |
clid | type_info of the class to which to cast. |
- Returns
- The pointer cast to the requested type, returned as a void*. tinfo must be known to be a base of T; otherwise, 0 will be returned.
◆ castfn() [1/2]
Return a function for casting to a base pointer.
- Parameters
-
clid | ID of the class to which to cast. |
- Returns
- A function to convert a pointer to a
T
to a pointer to the type identified by clid. clid must be known to be a base of T; otherwise, 0 will be returned.
◆ castfn() [2/2]
Return a function for casting to a base pointer.
- Parameters
-
clid | type_info of the class to which to cast. |
- Returns
- A function to convert a pointer to a
T
to a pointer to the type identified by tinfo. tinfo must be known to be a base of T; otherwise, 0 will be returned.
◆ castfnTo() [1/2]
Return a function for casting to a derived pointer.
- Parameters
-
clid | ID of the class B from which to cast. |
- Returns
- A function to convert a pointer to a
T
to a pointer to a T. clid must be known to be a base of T; otherwise, 0 will be returned. 0 will also be returned if the dynamic_cast fails.
◆ castfnTo() [2/2]
Return a function for casting to a derived pointer.
- Parameters
-
clid | type_info of the class B from which to cast. |
- Returns
- A function to convert a pointer to a
B
to a pointer to a T. tinfo must be known to be a base of T; otherwise, 0 will be returned. 0 will also be returned if the dynamic_cast fails.
◆ castTo() [1/2]
Cast to a derived pointer.
- Parameters
-
p | The pointer to cast. |
clid | ID of the class B from which to cast. |
- Returns
- The pointer cast to a T*. B must be known to be a base of T; otherwise, 0 will be returned. 0 will also be returned if the dynamic_cast fails.
◆ castTo() [2/2]
Cast to a derived pointer.
- Parameters
-
p | The pointer to cast. |
clid | type_info of the class B from which to cast. |
- Returns
- The pointer cast to a T*. B must be known to be a base of T; otherwise, 0 will be returned. 0 will also be returned if the dynamic_cast fails.
◆ get_bases()
Return the class IDs of all known bases of T (that have class IDs).
The list will include T itself.
◆ get_ti_bases()
Return the type_info's
of all known bases of T.
The list will include T itself.
◆ instance()
Return a reference to the (singleton) implementation object for this class.
◆ is_base() [1/2]
Return true if clid is the ID of a class that is known to be a base of T.
T is considered to be its own base for this purpose.
- Parameters
-
clid | The ID of the class to test. |
◆ is_base() [2/2]
Return true if tinfo is the std::type_info of a class that is known to be a base of T.
T is considered to be its own base for this purpose.
- Parameters
-
tinfo | The std::type_info of the class to test. |
◆ is_virtual() [1/2]
Return true if clid is the ID of a class that is known to be a virtual base of T.
(This will always be false for T itself.)
- Parameters
-
clid | The ID of the class to test. |
◆ is_virtual() [2/2]
Return true if tinfo is the std::type_info of a class that is known to be a virtual base of T.
(This will always be false for T itself.)
- Parameters
-
tinfo | The std::type_info of the class to test. |
◆ maybeInit()
◆ RegisterAddBaseInit
template<class T >
template<class D , class B >
◆ RegisterAddCopyConversionInit
template<class T >
template<class D , class B >
◆ ATLAS_THREAD_SAFE
The documentation for this class was generated from the following file: