Associate AuxStore
classes with EDM container classes.
More...
#include "AthContainersInterfaces/IAuxElement.h"
#include "AthContainersInterfaces/IAuxStore.h"
#include "AthContainersInterfaces/IConstAuxStore.h"
#include <boost/type_traits/is_base_of.hpp>
#include <boost/version.hpp>
#include <boost/mpl/if.hpp>
#include <string>
Go to the source code of this file.
Classes | |
struct | boost::conditional< b, T, U > |
class | SG::NoAuxStore |
Mark that there's no associated AuxStore class. More... | |
struct | SG::AuxStore_traits_AuxDefault |
Default traits values for aux data case. More... | |
struct | SG::AuxStore_traits_NoAuxDefault |
Default traits values for no-aux data case. More... | |
struct | SG::AuxStore_traits1< DOBJ, FLAG_ > |
struct | SG::AuxStore_traits1< DOBJ, typename SG_STD_OR_BOOST::is_base_of< IAuxElement, typename DOBJ::base_value_type >::type > |
struct | SG::AuxStore_traits< DOBJ > |
Associate AuxStore classes with EDM container classes (default implementation). More... | |
struct | SG::AuxStore_traits< DOBJ * > |
Associate AuxStore classes with EDM container classes. This specialization allows using pointer types directly as an argument. More... | |
Namespaces | |
namespace | SG |
Constructor from a payload object. |
Associate AuxStore
classes with EDM container classes.
DataVector
may have auxiliary data associated with it, which are kept in separate AuxStore objects.When an object is retrieved from StoreGate, StoreGate can also look for an auxiliary store object and associate it with the container. This traits class is used to get the types of objects for which to look in StoreGate.
There are two types defined, type
and const_type
, for non-const and const AuxStores, respectively.
By default, these are SG::IAuxStore
and SG::IConstAuxStore
for types which have auxiliary data (either DOBJ or DOBJ::base_value_type derives from SG::IAuxElement
). Otherwise, both types default to SG::NoAuxStore
.
These defaults may be overridden using the CLASS_AUXSTORE
macro.