![]() |
ATLAS Offline Software
|
Traits class for representing derivation. More...
#include <type_traits>Go to the source code of this file.
Classes | |
| struct | SG::Virtual< T > |
| Wrapper to indicate virtual derivation. More... | |
| struct | SG::BaseType< T > |
| Helper metafunction to get base class types. More... | |
| struct | SG::BaseType< Virtual< T > > |
| struct | SG::NoBase |
| Marker to indicate a nonexistent base class. More... | |
| struct | SG::BaseList< T > |
| Represent a list of base classes. More... | |
| struct | SG::Bases< T > |
| Traits class to hold derivation information. More... | |
| struct | SG::BaseList< BASE, REST... > |
| Represent a non-empty list of base classes. More... | |
Namespaces | |
| SG | |
| Forward declaration. | |
Typedefs | |
| template<class T > | |
| using | SG::BaseType_t = typename SG::BaseType< T >::type |
Traits class for representing derivation.
T, its base classes are available via the traits class defined here, as Bases<T>::bases. This will be an instantiation of BaseList, defined below, which provides a foreach_ function to iterate over the base classes. [<CENSORED> Qt defines ‘foreach’ as a macro, so we can't use that name!]For this to work, the Bases class must be specialized for each class T. This is usually done using the SG_BASES macro defined in BaseInfo.h.
Definition in file Bases.h.
1.8.18