ATLAS Offline Software
Classes | Namespaces
AuxStore_traits.h File Reference

Associate AuxStore classes with EDM container classes. More...

#include "AthContainersInterfaces/IAuxElement.h"
#include "AthContainersInterfaces/IAuxStore.h"
#include "AthContainersInterfaces/IConstAuxStore.h"
#include <type_traits>
#include <string>
Include dependency graph for AuxStore_traits.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

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_ >
 Helper for the case where DOBJ::base_value_type does not derive from SG::IAuxElement. More...
 
struct  SG::AuxStore_traits1< DOBJ, typename std::is_base_of< IAuxElement, typename DOBJ::base_value_type >::type >
 Helper for the case where DOBJ::base_value_type does derive from SG::IAuxElement. More...
 
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. More...
 

Namespaces

 SG
 Forward declaration.
 

Detailed Description

Associate AuxStore classes with EDM container classes.

Author
scott snyder snyde.nosp@m.r@bn.nosp@m.l.gov, Paolo Calafiura
Date
Sep, 2013 A 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.

Definition in file AuxStore_traits.h.