![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
14 #ifndef ATHCONTAINERSINTERFACES_IAUXTYPEVECTORFACTORY_H
15 #define ATHCONTAINERSINTERFACES_IAUXTYPEVECTORFACTORY_H
71 bool isLinked)
const = 0;
99 bool isLinked)
const = 0;
137 copy (auxid, dst, dst_index,
src, src_index,
n);
198 virtual const std::type_info*
tiVec()
const = 0;
214 virtual const std::type_info*
tiAlloc()
const = 0;
227 #endif // not ATHCONTAINERSINTERFACES_IAUXTYPEVECTORFACTORY_H
char data[hepevt_bytes_allocation_ATLAS]
virtual std::unique_ptr< IAuxTypeVector > createFromData(SG::auxid_t auxid, void *data, IAuxTypeVector *linkedVector, bool isPacked, bool ownFlag, bool isLinked) const =0
Create a vector object of this type from a data blob.
virtual size_t getEltSize() const =0
Return the size of an element of this vector type.
virtual std::unique_ptr< IAuxTypeVector > create(SG::auxid_t auxid, size_t size, size_t capacity, bool isLinked) const =0
Create a vector object of this type.
virtual void clear(SG::auxid_t auxid, AuxVectorData &dst, size_t dst_index, size_t n) const =0
Clear a range of elements within a vector.
virtual std::string tiAllocName() const =0
Return the (demangled) name of the vector allocator.
virtual void swap(SG::auxid_t auxid, AuxVectorData &a, size_t aindex, AuxVectorData &b, size_t bindex, size_t n) const =0
Swap elements between vectors.
size_t auxid_t
Identifier for a particular aux data item.
Interface for factory objects that create vectors.
virtual void copyForOutput(SG::auxid_t auxid, AuxVectorData &dst, size_t dst_index, const AuxVectorData &src, size_t src_index, size_t n) const =0
Copy elements between vectors, possibly applying thinning.
virtual const std::type_info * tiAlloc() const =0
Return the type_info of the vector allocator.
virtual void copy(SG::auxid_t auxid, AuxVectorData &dst, size_t dst_index, const AuxVectorData &src, size_t src_index, size_t n) const =0
Copy elements between vectors.
virtual bool isDynamic() const =0
True if the vectors created by this factory work by dynamic emulation (via TVirtualCollectionProxy or...
virtual const std::type_info * tiVec() const =0
Return the type_info of the vector.
virtual ~IAuxTypeVectorFactory()
Destructor.
Basic definitions for auxiliary types.
void copy(SG::auxid_t auxid, AuxVectorData &&dst, size_t dst_index, const AuxVectorData &src, size_t src_index, size_t n) const
Copy elements between vectors.
Abstract interface for manipulating vectors of arbitrary types.
Manage lookup of vectors of auxiliary data.