![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
13 #ifndef ATHCONTAINERSINTERFACES_IAUXTYPEVECTOR_H
14 #define ATHCONTAINERSINTERFACES_IAUXTYPEVECTOR_H
60 virtual std::unique_ptr<IAuxTypeVector>
clone()
const = 0;
72 virtual const void*
toPtr()
const = 0;
84 virtual size_t size()
const = 0;
130 virtual bool shift (
size_t pos, ptrdiff_t offs) = 0;
183 virtual std::unique_ptr<IAuxTypeVector>
toPacked() {
return 0; }
197 virtual const std::type_info*
objType()
const {
return 0; }
212 virtual std::unique_ptr<IAuxTypeVector>
linkedVector() {
return nullptr; }
245 #endif // not ATHCONTAINERSINTERFACES_IAUXTYPEVECTOR_H
virtual bool shift(size_t pos, ptrdiff_t offs)=0
Shift the elements of the vector.
bool isLinked() const
Return true if this variable is linked from another one.
virtual const void * toPtr() const =0
Return a pointer to the start of the vector's data.
virtual ~IAuxTypeVector()=default
Destructor.
virtual const std::type_info * objType() const
Return the type of the complete object to be saved.
virtual std::unique_ptr< IAuxTypeVector > clone() const =0
Make a copy of this vector.
virtual std::unique_ptr< IAuxTypeVector > toPacked()
Make a packed version of the variable.
size_t auxid_t
Identifier for a particular aux data item.
virtual void * toVector()=0
Return a pointer to the STL vector itself.
IAuxTypeVector(auxid_t auxid, bool isLinked)
Constructor.
virtual std::unique_ptr< IAuxTypeVector > linkedVector()
Return IAuxTypeVector of a linked variable, if there is one.
Hold information about an option setting request.
auxid_t auxid() const
Return the auxid of the variable this vector represents.
auxid_t m_auxid
The auxid of the variable this vector represents.
Basic definitions for auxiliary types.
Interface for non-const operations on an auxiliary store.
bool m_isLinked
True if this variable is linked from another one.
virtual bool resize(size_t sz)=0
Change the size of the vector.
virtual bool insertMove(size_t pos, void *beg, void *end, IAuxStore &srcStore)=0
Insert elements into the vector via move semantics.
virtual void reserve(size_t sz)=0
Change the capacity of the vector.
Abstract interface for manipulating vectors of arbitrary types.
Interface for non-const operations on an auxiliary store.
virtual bool setOption(const AuxDataOption &)
Set an option for this variable.
virtual size_t size() const =0
Return the size of the vector.
virtual void * toPtr()=0
Return a pointer to the start of the vector's data.