![]() |
ATLAS Offline Software
|
a traits class that associates a CLID to a type T It also detects whether T inherits from Gaudi DataObject More...
#include "AthenaKernel/ClassName.h"
#include "GaudiKernel/ClassID.h"
#include <string>
#include <typeinfo>
#include <type_traits>
#include <concepts>
Go to the source code of this file.
Classes | |
class | ClassID_trait_dummy |
class | ClassID_traits< T > |
Default, invalid implementation of ClassID_traits. More... | |
struct | ClassID_traits< T > |
Macros | |
#define | MY_STATIC_ASSERT(B) static_assert (B, "You should use the CLASS_DEF macro to define CLID and VERSION") |
internal use: issues a compilation error when condition B is false More... | |
Functions | |
template<typename T > | |
requires | requires () |
This specialization is used for classes deriving from DataObject . More... | |
a traits class that associates a CLID to a type T It also detects whether T inherits from Gaudi DataObject
Definition in file Control/AthenaKernel/AthenaKernel/ClassID_traits.h.
#define MY_STATIC_ASSERT | ( | B | ) | static_assert (B, "You should use the CLASS_DEF macro to define CLID and VERSION") |
internal use: issues a compilation error when condition B is false
Definition at line 25 of file Control/AthenaKernel/AthenaKernel/ClassID_traits.h.
requires requires | ( | ) |
This specialization is used for classes deriving from DataObject
.
To avoid having a compile-time dependency on DataObject
, we enable this based on whether or not T::classID()
is defined.
Definition at line 68 of file Control/AthenaKernel/AthenaKernel/ClassID_traits.h.