ATLAS Offline Software
Loading...
Searching...
No Matches
ClassID_traits< T > Class Template Reference

Default, invalid implementation of ClassID_traits. More...

#include <ClassID_traits.h>

Collaboration diagram for ClassID_traits< T >:

Public Types

using has_classID_tag = std::false_type

Static Public Member Functions

static CLID ID ()
static const std::string & typeName ()
static const std::type_info & typeInfo ()
static CLID ID ()
 Function returning a unique integer identifier for the selected type.
static const std::string & typeName ()
 Function returning a user-readable type name for the selected type.
static const std::type_info & typeId ()
 Function returning a type identifier for the selected type.

Static Public Attributes

static const bool s_isDataObject = std::same_as<T, ClassID_trait_dummy>
static const int s_version = 0

Detailed Description

template<typename T>
class ClassID_traits< T >

Default, invalid implementation of ClassID_traits.

a traits class that associates a CLID to a type T It also detects whether T inherits from Gaudi DataObject

The CLASS_DEF macro specialises this class in order to provide functional descriptions of the EDM classes. This default class is non-functional on purpose, to generate compile-time errors in case some code tries using CLID information on a type that doesn't provide one.

Author
Tomasz Bold tomas.nosp@m.z.bo.nosp@m.ld@ce.nosp@m.rn.c.nosp@m.h
Revision
613558
Date
2014-08-26 19:16:16 +0200 (Tue, 26 Aug 2014)

This default specialization just gives errors.

Normally, this will get specialized by the CLASS_DEF macro.

Definition at line 37 of file Control/AthenaKernel/AthenaKernel/ClassID_traits.h.

Member Typedef Documentation

◆ has_classID_tag

template<typename T>
using ClassID_traits< T >::has_classID_tag = std::false_type

Member Function Documentation

◆ ID() [1/2]

template<typename T>
CLID ClassID_traits< T >::ID ( )
inlinestatic

Definition at line 44 of file Control/AthenaKernel/AthenaKernel/ClassID_traits.h.

44 {
46 return CLID_NULL;
47 }
#define MY_STATIC_ASSERT(B)
internal use: issues a compilation error when condition B is false
Default, invalid implementation of ClassID_traits.

◆ ID() [2/2]

template<typename T>
CLID ClassID_traits< T >::ID ( )
inlinestatic

Function returning a unique integer identifier for the selected type.

Definition at line 69 of file Event/xAOD/xAODCore/xAODCore/ClassID_traits.h.

◆ typeId()

template<typename T>
const std::type_info & ClassID_traits< T >::typeId ( )
inlinestatic

Function returning a type identifier for the selected type.

Definition at line 77 of file Event/xAOD/xAODCore/xAODCore/ClassID_traits.h.

◆ typeInfo()

template<typename T>
const std::type_info & ClassID_traits< T >::typeInfo ( )
inlinestatic

Definition at line 55 of file Control/AthenaKernel/AthenaKernel/ClassID_traits.h.

55 {
57 return typeid(int);
58 }

◆ typeName() [1/2]

template<typename T>
const std::string & ClassID_traits< T >::typeName ( )
inlinestatic

Definition at line 49 of file Control/AthenaKernel/AthenaKernel/ClassID_traits.h.

49 {
51 static const std::string dummy;
52 return dummy;
53 }

◆ typeName() [2/2]

template<typename T>
const std::string & ClassID_traits< T >::typeName ( )
inlinestatic

Function returning a user-readable type name for the selected type.

Definition at line 73 of file Event/xAOD/xAODCore/xAODCore/ClassID_traits.h.

Member Data Documentation

◆ s_isDataObject

template<typename T>
const bool ClassID_traits< T >::s_isDataObject = std::same_as<T, ClassID_trait_dummy>
static

◆ s_version

template<typename T>
const int ClassID_traits< T >::s_version = 0
static

The documentation for this class was generated from the following files: