7#include <unordered_map>
22 const std::type_info& ti,
24 const std::string& typeInfoName);
29 typedef std::lock_guard<mutex_t>
lock_t;
95 const std::type_info& ti,
97 const std::string& typeInfoName)
100 m_vec.emplace_back (clid, std::string(typeName), typeInfoName);
156 const std::type_info& ti,
157 const char* typeName,
158 const std::string& typeInfoName)
160 return impl().
addEntry (clid, ti, typeName, typeInfoName);
a static registry of CLID->typeName entries.
uint32_t CLID
The Class ID type.
Define macros for attributes used to control the static checker.
#define ATLAS_THREAD_SAFE
const std::type_info * CLIDToTypeinfo(CLID clid) const
Return the type_info corresponding to a CLID.
bool addEntry(unsigned long clid, const std::type_info &ti, const char *typeName, const std::string &typeInfoName)
std::unordered_map< const std::type_info *, CLID > ti_clid_map_t
std::lock_guard< mutex_t > lock_t
CLID typeinfoToCLID(const std::type_info &ti) const
Return the CLID corresponding to a type_info.
ti_clid_map_t m_ti_clid_map
bool hasNewEntries() const
CLIDRegistry::CLIDVector_t newEntries()
CLIDRegistry::CLIDVector_t m_vec
std::unordered_map< CLID, const std::type_info * > clid_ti_map_t
clid_ti_map_t m_clid_ti_map
static bool addEntry(const std::type_info &ti, const char *typeName, const std::string &typeInfoName)
to be called by the CLASS_DEFS
static CLIDRegistryImpl & impl()
static CLID typeinfoToCLID(const std::type_info &ti)
Return the CLID corresponding to a type_info.
static const std::type_info * CLIDToTypeinfo(CLID clid)
Translate between CLID and type_info.
std::vector< tuple_t > CLIDVector_t
static bool hasNewEntries()
registry accessors (used by ClassIDSvc)
static CLIDVector_t newEntries()
returns an iterator range over the entries added since last time newEntries was called