ATLAS Offline Software
|
Classes | |
struct | Deleter |
struct | info |
Structure to hold information about one base. More... | |
Public Types | |
typedef std::pair< const std::type_info *, info > | ti_map_pair_type |
Hold base information indexed by type_info. More... | |
typedef std::vector< ti_map_pair_type > | ti_map_type |
typedef std::pair< const std::type_info *, const CopyConversionBase * > | ti_copyconversion_pair_type |
Hold copy conversion information indexed by @ type_info. More... | |
typedef std::vector< ti_copyconversion_pair_type > | ti_copyconversion_type |
typedef std::unordered_map< const std::type_info *, BaseInfoBase * > | bi_by_ti_map_type |
Map of all type_info pointers to BaseInfoBase instances. More... | |
typedef std::unordered_map< std::string, const std::type_info * > | ti_by_name_map_type |
Used to canonicalize type_info instances. More... | |
typedef std::unordered_multimap< const std::type_info *, BaseInfoBase::init_func_t * > | init_list_t |
Holds BaseInfo classes awaiting initialization. More... | |
typedef std::mutex | mutex_t |
For thread-safety. More... | |
typedef std::lock_guard< mutex_t > | lock_t |
Public Member Functions | |
const info * | findInfo (const std::type_info &tinfo) const |
Find a base by type_info . More... | |
Public Attributes | |
CLID | m_clid |
CLID of this class. More... | |
bool | m_needs_init |
Set to true when first created. More... | |
const std::type_info * | m_typeinfo |
std::type_info of this class. More... | |
ti_map_type | m_timap |
ti_copyconversion_type | m_ti_copyconversion_map |
mutex_t | m_mutex |
CxxUtils::CachedValue< std::vector< CLID > > | m_bases |
CLIDs of known bases, including the class itself. More... | |
Static Public Attributes | |
static bi_by_ti_map_type *s_bi_by_ti | ATLAS_THREAD_SAFE |
static ti_by_name_map_type *s_ti_by_name | ATLAS_THREAD_SAFE |
static init_list_t *s_init_list | ATLAS_THREAD_SAFE |
static Deleter | s_deleter |
static mutex_t s_mutex | ATLAS_THREAD_SAFE |
Definition at line 29 of file BaseInfo.cxx.
typedef std::unordered_map<const std::type_info*, BaseInfoBase*> SG::BaseInfoBaseImpl::bi_by_ti_map_type |
Map of all type_info
pointers to BaseInfoBase
instances.
Definition at line 77 of file BaseInfo.cxx.
typedef std::unordered_multimap<const std::type_info*, BaseInfoBase::init_func_t*> SG::BaseInfoBaseImpl::init_list_t |
Holds BaseInfo
classes awaiting initialization.
This is used to defer initialization until everything's loaded.
Definition at line 89 of file BaseInfo.cxx.
typedef std::lock_guard<mutex_t> SG::BaseInfoBaseImpl::lock_t |
Definition at line 101 of file BaseInfo.cxx.
typedef std::mutex SG::BaseInfoBaseImpl::mutex_t |
For thread-safety.
Definition at line 100 of file BaseInfo.cxx.
typedef std::unordered_map<std::string, const std::type_info*> SG::BaseInfoBaseImpl::ti_by_name_map_type |
Used to canonicalize type_info
instances.
Definition at line 82 of file BaseInfo.cxx.
typedef std::pair<const std::type_info*, const CopyConversionBase*> SG::BaseInfoBaseImpl::ti_copyconversion_pair_type |
Hold copy conversion information indexed by @ type_info.
Definition at line 71 of file BaseInfo.cxx.
typedef std::vector<ti_copyconversion_pair_type> SG::BaseInfoBaseImpl::ti_copyconversion_type |
Definition at line 72 of file BaseInfo.cxx.
typedef std::pair<const std::type_info*, info> SG::BaseInfoBaseImpl::ti_map_pair_type |
Hold base information indexed by type_info.
Definition at line 64 of file BaseInfo.cxx.
typedef std::vector<ti_map_pair_type> SG::BaseInfoBaseImpl::ti_map_type |
Definition at line 65 of file BaseInfo.cxx.
Find a base by type_info
.
tinfo | The type_info to find. |
Returns the info
pointer for the base corresponding to info
, or nullptr if there is no match.
Definition at line 118 of file BaseInfo.cxx.
|
static |
Definition at line 78 of file BaseInfo.cxx.
|
static |
Definition at line 83 of file BaseInfo.cxx.
|
static |
Definition at line 90 of file BaseInfo.cxx.
|
static |
Definition at line 102 of file BaseInfo.cxx.
CxxUtils::CachedValue<std::vector<CLID> > SG::BaseInfoBaseImpl::m_bases |
CLIDs of known bases, including the class itself.
This can be read without acquiring the mutex.
Definition at line 108 of file BaseInfo.cxx.
CLID SG::BaseInfoBaseImpl::m_clid |
CLID of this class.
Definition at line 53 of file BaseInfo.cxx.
|
mutable |
Definition at line 103 of file BaseInfo.cxx.
bool SG::BaseInfoBaseImpl::m_needs_init |
Set to true when first created.
Reset after we scan for init functions.
Definition at line 57 of file BaseInfo.cxx.
ti_copyconversion_type SG::BaseInfoBaseImpl::m_ti_copyconversion_map |
Definition at line 73 of file BaseInfo.cxx.
ti_map_type SG::BaseInfoBaseImpl::m_timap |
Definition at line 66 of file BaseInfo.cxx.
const std::type_info* SG::BaseInfoBaseImpl::m_typeinfo |
std::type_info
of this class.
Definition at line 60 of file BaseInfo.cxx.
|
static |
Definition at line 97 of file BaseInfo.cxx.