Interface providing I/O for a generic auxiliary store. More...
#include <IAuxStoreIO.h>
Public Member Functions | |
virtual | ~IAuxStoreIO () |
Destructor. | |
virtual const void * | getIOData (SG::auxid_t auxid) const =0 |
Return a pointer to the data to be stored for one aux data item. | |
virtual const std::type_info * | getIOType (SG::auxid_t auxid) const =0 |
Return the type of the data to be stored for one aux data item. | |
virtual const SG::auxid_set_t & | getDynamicAuxIDs () const =0 |
Get the list of all dynamically created variables. | |
virtual void | selectAux (const std::set< std::string > &) |
Set up the object to only expose selected data items to the IO. | |
virtual const SG::auxid_set_t & | getSelectedAuxIDs () const |
Get a list of all the variables that need to be written out. |
Interface providing I/O for a generic auxiliary store.
In order to read/write the properties stored in a generic auxiliary store object, this interface needs to be used. It allows the infrastructure code to inspect the contents of the object, and access it in a way that allows the information to be passed to the persistency system.
virtual const void* SG::IAuxStoreIO::getIOData | ( | SG::auxid_t | auxid | ) | const [pure virtual] |
Return a pointer to the data to be stored for one aux data item.
auxid | The identifier of the desired aux data item. |
This will usually be a pointer to a std::vector
; however, it may be something different for a standalone object.
Returns 0 and reports an error if the requested aux data item does not exist.
Implemented in SG::AuxStoreInternal.
virtual const std::type_info* SG::IAuxStoreIO::getIOType | ( | SG::auxid_t | auxid | ) | const [pure virtual] |
Return the type of the data to be stored for one aux data item.
auxid | The identifier of the desired aux data item. |
For an aux data item of type T
, this will usually be std::vector<T>
. For standalone objects, however, it will usually be T
; and std::vector<char>
will be used instead of std::vector<bool>
.
Returns 0 if the requested aux data item does not exist.
Implemented in SG::AuxStoreInternal.
virtual const SG::auxid_set_t& SG::IAuxStoreIO::getSelectedAuxIDs | ( | ) | const [inline, virtual] |
Get a list of all the variables that need to be written out.
The return value of this function depends on the parameters passed to selectAux previously.
Reimplemented in xAOD::AuxContainerBase, xAOD::AuxInfoBase, xAOD::ShallowAuxContainer, and xAOD::TAuxStore.
virtual void SG::IAuxStoreIO::selectAux | ( | const std::set< std::string > & | ) | [inline, virtual] |
Set up the object to only expose selected data items to the IO.
attr | The attributes for selecting the variables to be written. |
The convention for the formatting of the attributes expected by this function is still a bit in flux, documentation will be provided later.
Reimplemented in xAOD::AuxContainerBase, xAOD::AuxInfoBase, xAOD::ShallowAuxContainer, and xAOD::TAuxStore.