ATLAS Offline Software
|
Classes | |
class | CompareAndPrint |
Helper for remove_duplicates . More... | |
class | const_iterator |
Const iterator class for DataVector/ More... | |
struct | DVLCast |
casting operations for DataVector/ More... | |
struct | DVLCast< DVL, false > |
casting operations for DataVector/List , static_cast version. More... | |
struct | DVLCast< DVL, true > |
casting operations for DataVector/List , dynamic_cast version. More... | |
class | DVLInfo |
class | DVLInfoBase |
class | DVLIterator |
Implementation for iterator helper. More... | |
class | DVLIteratorBase |
Helper to iterate over a DV container. More... | |
struct | dvlmapdel |
class | ElementProxy |
Proxy for lvalue access to DataVector/ . More... | |
class | iterator |
(Non-const) Iterator class for DataVector/ More... | |
struct | NoBase |
Marker for the base of the inheritance hierarchy. More... | |
Typedefs | |
typedef std::unordered_map< const std::type_info *, DVLInfoBase * > | dvl_tinfo_map_t |
Maps from tinfo pointers and CLID to DVLInfo instances. More... | |
Functions | |
template<class T > | |
void * | dvl_convert (const T &src, const DVLInfoBase &targ_info) |
Perform DataVector/ copying. More... | |
template<class T > | |
void * | dvl_convert (const T &src, const std::type_info &targ_tinfo, DVLInfoBase *&targ_info) |
Perform DataVector/ copying. More... | |
template<class T > | |
void * | dvl_convert (const T &src, CLID clid, DVLInfoBase *&targ_info) |
Perform DataVector/ copying. More... | |
template<class T > | |
void | dvl_update (const T &src, void *target, const DVLInfoBase *targ_info) |
Update the elements in the target container from the source. More... | |
Variables | |
dvl_tinfo_map_t *s_dvl_tinfo_map | ATLAS_THREAD_SAFE = 0 |
mutex | s_dvl_tinfo_mutex |
struct DataModel_detail::dvlmapdel | s_dvlmapdel |
typedef std::unordered_map<const std::type_info*, DVLInfoBase*> DataModel_detail::dvl_tinfo_map_t |
Maps from tinfo pointers and CLID to DVLInfo
instances.
Note that we don't rely on static initialization here, to avoid initialization ordering problems.
Definition at line 40 of file DVLInfo.cxx.
void* DataModel_detail::dvl_convert | ( | const T & | src, |
CLID | clid, | ||
DVLInfoBase *& | targ_info | ||
) |
Perform DataVector/
copying. DataList
conversion
src | The source container. |
clid | CLID for the desired container type. |
targ_info[out] | The DVLInfo for the target container type. |
If the elements of src can be converted to elements of a targ_tinfo container, then we make a new (view) container of that type and populate it with elements copied from src.
void* DataModel_detail::dvl_convert | ( | const T & | src, |
const DVLInfoBase & | targ_info | ||
) |
Perform DataVector/
copying. DataList
conversion
src | The source container. |
targ_info | The DVLInfo for the target container type. |
If the elements of src can be converted to elements of a targ_tinfo container, then we make a new (view) container of that type and populate it with elements copied from src.
void* DataModel_detail::dvl_convert | ( | const T & | src, |
const std::type_info & | targ_tinfo, | ||
DVLInfoBase *& | targ_info | ||
) |
Perform DataVector/
copying. DataList
conversion
src | The source container. |
targ_tinfo | type_info for the desired container type. |
targ_info[out] | The DVLInfo for the target container type. |
If the elements of src can be converted to elements of a targ_tinfo container, then we make a new (view) container of that type and populate it with elements copied from src.
void DataModel_detail::dvl_update | ( | const T & | src, |
void * | target, | ||
const DVLInfoBase * | targ_info | ||
) |
Update the elements in the target container from the source.
src | The source container. |
target | The target container. |
targ_info | The DVLInfo for the target container type. |
The target container is cleared and then repopulated from the elements of the source container.
dvl_tinfo_map_t* s_dvl_tinfo_map DataModel_detail::ATLAS_THREAD_SAFE = 0 |
Definition at line 41 of file DVLInfo.cxx.
mutex DataModel_detail::s_dvl_tinfo_mutex |
Definition at line 42 of file DVLInfo.cxx.
struct DataModel_detail::dvlmapdel DataModel_detail::s_dvlmapdel |