00001
00002
00027 #ifndef ATHCONTAINERSINTERFACES_IAUXSTORE_H
00028 #define ATHCONTAINERSINTERFACES_IAUXSTORE_H
00029
00030
00031 #include "AthContainersInterfaces/IConstAuxStore.h"
00032 #include <cstddef>
00033
00034
00035 namespace SG {
00036
00037
00038 class AuxDataOption;
00039
00040
00044 class IAuxStore
00045 : public IConstAuxStore
00046 {
00047 public:
00049 using IConstAuxStore::getData;
00050
00051
00070 virtual void* getData (auxid_t auxid, size_t size, size_t capacity) = 0;
00071
00072
00079 virtual const SG::auxid_set_t& getWritableAuxIDs() const = 0;
00080
00081
00093 virtual void resize (size_t sz) = 0;
00094
00095
00104 virtual void reserve (size_t sz) = 0;
00105
00106
00129 virtual void shift (size_t pos, ptrdiff_t offs) = 0;
00130
00131
00142 virtual bool setOption (auxid_t , const AuxDataOption& )
00143 { return false; }
00144 };
00145
00146
00147 }
00148
00149
00150
00151 #ifndef XAOD_STANDALONE
00152 #include "SGTools/BaseInfo.h"
00153 #include "SGTools/CLASS_DEF.h"
00154 SG_BASE( SG::IAuxStore, SG::IConstAuxStore );
00155 CLASS_DEF( SG::IAuxStore , 178378299 , 1 )
00156 #endif
00157
00158
00159 #endif // not ATHCONTAINERSINTERFACES_IAUXSTORE_H