|  | ATLAS Offline Software
    | 
 
 
 
Go to the documentation of this file.
   13 #ifndef ATHCONTAINERS_JAGGEDVECVECTOR_H 
   14 #define ATHCONTAINERS_JAGGEDVECVECTOR_H 
   38 template <
class T, 
class ALLOC = AuxAllocator_t<JaggedVecElt<T> > >
 
   41                                typename AuxDataTraits<JaggedVecElt<T>, ALLOC>::vector_type>
 
  106   virtual bool shift (
size_t pos, ptrdiff_t offs) 
override;
 
  132                            void* 
src, 
size_t src_pos, 
size_t src_n,
 
  159 template <
class HOLDER>
 
  178                      size_t size, 
size_t capacity,
 
  179                      std::unique_ptr<IAuxTypeVector> linkedVec);
 
  202   virtual std::unique_ptr<IAuxTypeVector> 
clone() 
const override;
 
  223 template <
class T, 
class ALLOC = AuxAllocator_t<JaggedVecElt<T> > >
 
  233 #endif // not ATHCONTAINERS_JAGGEDVECVECTOR_H 
  
AuxDataTraits< JaggedVecElt< T >, VEC::allocator_type >::vector_type vector_type
Type of the STL vector used for storage.
typename Base::element_type element_type
AuxDataTraits< JaggedVecElt< T > >::element_type element_type
Type that the user sees.
IAuxTypeVector * m_linkedVec
Interface for the linked vector of DataLinks.
typename Base::vector_value_type vector_value_type
JaggedVecVectorT(auxid_t auxid, size_t size, size_t capacity, std::unique_ptr< IAuxTypeVector > linkedVec)
Constructor.
std::vector< T, allocator_type > vector_type
Container type used to store this variable.
Implementation of IAuxTypeVector for JaggedVec types.
virtual bool insertMove(size_t pos, void *src, size_t src_pos, size_t src_n, IAuxStore &srcStore) override
Insert elements into the vector via move semantics.
uint32_t index_type
Type for the indices.
JaggedVecVectorT(JaggedVecVectorT &&other)
Move constructor.
size_t auxid_t
Identifier for a particular aux data item.
virtual std::unique_ptr< IAuxTypeVector > clone() const override
Make a copy of this vector.
vector_type m_vec
The contained vector.
virtual std::unique_ptr< IAuxTypeVector > linkedVector() override
Return ownership of the linked vector.
typename Elt::Shift Shift
JaggedVecVectorT & operator=(const JaggedVecVectorT &other)=delete
No assignment.
virtual bool resize(size_t sz) override
Change the size of the vector.
JaggedVecVectorHolder(auxid_t auxid, vector_type *vecPtr, IAuxTypeVector *linkedVec, bool ownFlag)
Constructor.
Manage lookup of vectors of auxiliary data.
Implementation of IAuxTypeVector for specific types.
JaggedVecVectorT(const JaggedVecVectorT &other)
Copy constructor.
auxid_t auxid() const
Return the auxid of the variable this vector represents.
typename Base::vector_type vector_type
Interface for non-const operations on an auxiliary store.
Definition of JaggedVecElt.
Abstract interface for manipulating vectors of arbitrary types.
Describe one element of a jagged vector.
virtual bool shift(size_t pos, ptrdiff_t offs) override
Shift the elements of the vector.
typename Elt::index_type index_type
Implementation of IAuxTypeVector holding a vector of JaggedVec.
Implementation of IAuxTypeVector for specific types.
std::unique_ptr< IAuxTypeVector > m_linkedVecHolder
Holding ownership of the linked vector.