|
ATLAS Offline Software
|
Go to the documentation of this file.
33 #ifndef ATHCONTAINERSINTERFACES_AUXSTORE_TRAITS_H
34 #define ATHCONTAINERSINTERFACES_AUXSTORE_TRAITS_H
42 # include <type_traits>
59 typedef std::true_type
flag;
64 static const std::string
name (
"SG::IAuxStore");
71 static const std::string
name (
"SG::IConstAuxStore");
80 typedef std::false_type
flag;
85 static const std::string
name (
"SG::NoAuxStore");
92 static const std::string
name (
"SG::NoAuxStore");
100 template <
class DOBJ,
class FLAG_>
103 typedef typename std::conditional<
119 template <
class DOBJ>
122 IAuxElement, typename DOBJ::base_value_type>
::type>
135 template <
class DOBJ>
153 template <
class DOBJ>
161 #endif // not ATHCONTAINERSINTERFACES_AUXSTORE_TRAITS_H
IConstAuxStore const_type
Flag that a class may have auxiliary data associated with it.
static const std::string & typeName()
Associate AuxStore classes with EDM container classes (default implementation).
Default traits values for no-aux data case.
static const std::string & typeName()
Helper for the case where DOBJ::base_value_type does not derive from SG::IAuxElement.
Mark that there's no associated AuxStore class.
AuxStore_traits_AuxDefault type
Interface for non-const operations on an auxiliary store.
Default traits values for aux data case.
Interface for non-const operations on an auxiliary store.
static const std::string & const_typeName()
Interface for const operations on an auxiliary store.
Interface for const operations on an auxiliary store.
std::conditional< std::is_base_of< IAuxElement, DOBJ >::value, AuxStore_traits_AuxDefault, AuxStore_traits_NoAuxDefault >::type type
static const std::string & const_typeName()