CMS 3D CMS Logo

Classes | Namespaces | Macros | Functions
typelookup.h File Reference
#include <typeinfo>
#include <utility>

Go to the source code of this file.

Classes

class  edm::typelookup::NameRegistrar
 

Namespaces

 edm
 HLT enums.
 
 edm::typelookup
 

Macros

#define DEFINE_TYPELOOKUP_REGISTRATION(type)
 
#define EDM_TYPELOOKUP_SYM(x, y)   EDM_TYPELOOKUP_SYM2(x, y)
 
#define EDM_TYPELOOKUP_SYM2(x, y)   x##y
 
#define TYPELOOKUP_DATA_REG(_dataclass_)
 
#define TYPELOOKUP_METHODS(Tname)
 

Functions

template<typename T >
const char * edm::typelookup::className ()
 
template<typename T >
const std::type_info & edm::typelookup::classTypeInfo ()
 
std::pair< const char *, const std::type_info * > edm::typelookup::findType (const char *iClassName)
 

Macro Definition Documentation

#define DEFINE_TYPELOOKUP_REGISTRATION (   type)
Value:
static const edm::typelookup::NameRegistrar EDM_TYPELOOKUP_SYM(s_register, __LINE__)( \
edm::typelookup::className<type>(), typeid(type))
type
Definition: HCALResponse.h:21
#define EDM_TYPELOOKUP_SYM(x, y)
Definition: typelookup.h:95

Definition at line 98 of file typelookup.h.

#define EDM_TYPELOOKUP_SYM (   x,
 
)    EDM_TYPELOOKUP_SYM2(x, y)

Definition at line 95 of file typelookup.h.

#define EDM_TYPELOOKUP_SYM2 (   x,
 
)    x##y

Definition at line 96 of file typelookup.h.

#define TYPELOOKUP_DATA_REG (   _dataclass_)
Value:
TYPELOOKUP_METHODS(_dataclass_) \
#define DEFINE_TYPELOOKUP_REGISTRATION(type)
Definition: typelookup.h:98
#define TYPELOOKUP_METHODS(Tname)
Definition: typelookup.h:81

Definition at line 102 of file typelookup.h.

#define TYPELOOKUP_METHODS (   Tname)
Value:
namespace edm { \
namespace typelookup { \
template <> \
const char* className<Tname>() { \
return #Tname; \
} \
template <> \
const std::type_info& classTypeInfo<Tname>() { \
return typeid(Tname); \
} \
} \
}
HLT enums.

Definition at line 81 of file typelookup.h.