5#ifndef ATHENAKERNEL_CLASSID_TRAITS_H
6#define ATHENAKERNEL_CLASSID_TRAITS_H
15#include "GaudiKernel/ClassID.h"
24#define MY_STATIC_ASSERT( B ) \
25 static_assert (B, "You should use the CLASS_DEF macro to define CLID and VERSION")
51 static const std::string dummy;
69 { T::classID() } -> std::convertible_to<CLID>;
100#undef MY_STATIC_ASSERT
An interface for getting the name of a class as a string.
#define MY_STATIC_ASSERT(B)
internal use: issues a compilation error when condition B is false
uint32_t CLID
The Class ID type.
std::string typeinfoName(const std::type_info &ti)
Convert a type_info to a demangled string.
std::false_type has_classID_tag
static const bool s_isDataObject
static const bool s_isConst
static const int s_version
static const CLID & ID()
the CLID of T
static const std::string & typeName()
the demangled type name of T
static const std::type_info & typeInfo()
the type id of T
std::false_type has_version_tag
Default, invalid implementation of ClassID_traits.
std::false_type has_classID_tag
static const bool s_isDataObject
static const int s_version
static const std::string & typeName()
static const std::type_info & typeInfo()