Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Types | Static Public Member Functions | Static Public Attributes | List of all members
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. More...
 
static const std::string & typeName ()
 Function returning a user-readable type name for the selected type. More...
 
static const std::type_info & typeId ()
 Function returning a type identifier for the selected type. More...
 

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 >
static CLID ClassID_traits< T >::ID ( )
inlinestatic

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

44  {
46  return CLID_NULL;
47  }

◆ ID() [2/2]

template<typename T >
static 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 >
static 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 >
static 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 >
static 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 >
static 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 file:
ERROR_you_should_use_the_CLASS_DEF_macro_to_define_CLID_and_VERSION
Helper used in order to get the clear error message for the developer.
Definition: Event/xAOD/xAODCore/xAODCore/ClassID_traits.h:51
python.LArMinBiasAlgConfig.int
int
Definition: LArMinBiasAlgConfig.py:59
python.xAODType.dummy
dummy
Definition: xAODType.py:4
MY_STATIC_ASSERT
#define MY_STATIC_ASSERT(B)
internal use: issues a compilation error when condition B is false
Definition: Control/AthenaKernel/AthenaKernel/ClassID_traits.h:24
ClassID_traits::s_isDataObject
static const bool s_isDataObject
Definition: Control/AthenaKernel/AthenaKernel/ClassID_traits.h:40