![]() |
ATLAS Offline Software
|
Traits class for representing derivation. More...
#include <type_traits>Go to the source code of this file.
Classes | |
| struct | Virtual< T > |
| struct | BaseType< T > |
| struct | BaseType< Virtual< T > > |
| struct | NoBase |
| Marker to indicate a nonexistent base class. More... | |
| struct | BaseList< T > |
| Represent a list of base classes. More... | |
| struct | Bases< T > |
| Traits class to hold derivation information. More... | |
| struct | BaseList< BASE, REST... > |
| Represent a non-empty list of base classes. More... | |
Typedefs | |
| template<class T> | |
| using | BaseType_t = typename SG::BaseType<T>::type |
Traits class for representing derivation.
For a class 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. */
namespace SG {
/**
Wrapper to indicate virtual derivation. Virtual<T> will mean that derivation from T is virtual.
Definition in file Bases.h.
| using BaseType_t = typename SG::BaseType<T>::type |