1 #ifndef FWCore_Utilities_typelookup_h 2 #define FWCore_Utilities_typelookup_h 56 std::pair<const char*, const std::type_info*>
findType(
const char* iClassName);
75 NameRegistrar(
const char* iTypeName,
const std::type_info& iInfo);
81 #define TYPELOOKUP_METHODS(Tname) \ 83 namespace typelookup { \ 85 const char* className<Tname>() { \ 89 const std::type_info& classTypeInfo<Tname>() { \ 90 return typeid(Tname); \ 95 #define EDM_TYPELOOKUP_SYM(x, y) EDM_TYPELOOKUP_SYM2(x, y) 96 #define EDM_TYPELOOKUP_SYM2(x, y) x##y 98 #define DEFINE_TYPELOOKUP_REGISTRATION(type) \ 99 static const edm::typelookup::NameRegistrar EDM_TYPELOOKUP_SYM(s_register, __LINE__)( \ 100 edm::typelookup::className<type>(), typeid(type)) 102 #define TYPELOOKUP_DATA_REG(_dataclass_) \ 103 TYPELOOKUP_METHODS(_dataclass_) \ 104 DEFINE_TYPELOOKUP_REGISTRATION(_dataclass_)
std::pair< const char *, const std::type_info * > findType(const char *iClassName)
NameRegistrar(const char *iTypeName, const std::type_info &iInfo)
const std::type_info & classTypeInfo()