![]() |
ATLAS Offline Software
|
ClassID_traits specialization for ViewVector
.
More...
#include <ViewVector.h>
Public Types | |
typedef std::integral_constant< bool, s_isDataObject > | is_DataObject_tag |
typedef std::true_type | has_classID_tag |
typedef std::false_type | has_version_tag |
Static Public Member Functions | |
static const CLID & | ID () |
static const char * | typeNameString () |
static const std::string & | typeName () |
static const std::type_info & | typeInfo () |
static bool | init (CLID clid, const char *name) |
Static Public Attributes | |
static const bool | s_isDataObject = false |
static const bool | s_isConst = false |
Static Private Attributes | |
static std::atomic< CLID > | s_clid { CLID_NULL } |
static std::atomic< const char * > | s_name { nullptr } |
ClassID_traits specialization for ViewVector
.
We want to allow SG operations on a ViewVector
even when the CLASS_DEF for the ViewVector
isn't present in the compilation unit doing the record. For example, we may have some piece of code templated on a DataVector
class DV
that creates a ViewVector<DV>
and records it. When this is used, the header defining should
be included, but the one defining ViewVector<DV>
may not be. But we'd like the record to work anyway.
So, for ViewVector
, we use this specialization of ClassID_traits
. It stores the CLID and the name (which recall will usually be a typedef name, so we can't get it from the DV
template argument) as static class members. We define a macro VIEWVECTOR_CLASS_DEF
which then sets these class statics during global initialization.
Definition at line 298 of file ViewVector.h.
typedef std::true_type ClassID_traits< ViewVector< DV > >::has_classID_tag |
Definition at line 302 of file ViewVector.h.
typedef std::false_type ClassID_traits< ViewVector< DV > >::has_version_tag |
Definition at line 321 of file ViewVector.h.
typedef std::integral_constant<bool, s_isDataObject> ClassID_traits< ViewVector< DV > >::is_DataObject_tag |
Definition at line 301 of file ViewVector.h.
|
inlinestatic |
Definition at line 304 of file ViewVector.h.
|
inlinestatic |
|
inlinestatic |
Definition at line 318 of file ViewVector.h.
|
inlinestatic |
Definition at line 315 of file ViewVector.h.
|
inlinestatic |
Definition at line 310 of file ViewVector.h.
|
staticprivate |
Definition at line 333 of file ViewVector.h.
|
static |
Definition at line 322 of file ViewVector.h.
|
static |
Definition at line 300 of file ViewVector.h.
|
staticprivate |
Definition at line 334 of file ViewVector.h.