ATLAS Offline Software
Public Types | Public Member Functions | Private Attributes | List of all members
SG::AuxTypeVectorT< HOLDER > Class Template Reference

Implementation of IAuxTypeVector holding a vector instance. More...

#include <AuxTypeVector.h>

Inheritance diagram for SG::AuxTypeVectorT< HOLDER >:
Collaboration diagram for SG::AuxTypeVectorT< HOLDER >:

Public Types

using Base = HOLDER
 
using vector_type = typename Base::vector_type
 
using element_type = typename Base::element_type
 
using vector_value_type = typename Base::vector_value_type
 

Public Member Functions

 AuxTypeVectorT (auxid_t auxid, size_t size, size_t capacity, bool isLinked)
 Constructor. More...
 
 AuxTypeVectorT (const AuxTypeVectorT &other)
 Copy constructor. More...
 
 AuxTypeVectorT (AuxTypeVectorT &&other)
 Move constructor. More...
 
AuxTypeVectorToperator= (const AuxTypeVectorT &other)
 Assignment. More...
 
AuxTypeVectorToperator= (AuxTypeVectorT &&other)
 Move assignment. More...
 
virtual std::unique_ptr< IAuxTypeVectorclone () const override
 Make a copy of this vector. More...
 

Private Attributes

vector_type m_vec
 The contained vector. More...
 

Detailed Description

template<class HOLDER>
class SG::AuxTypeVectorT< HOLDER >

Implementation of IAuxTypeVector holding a vector instance.

This is a derived class of AuxTypeVectorHolder that holds the vector instance as a member variable (and thus manages memory internally). It is templated on the base class, so that we can also use this for classes which derive from AuxTypeVectorHolder.

Definition at line 301 of file AuxTypeVector.h.

Member Typedef Documentation

◆ Base

template<class HOLDER >
using SG::AuxTypeVectorT< HOLDER >::Base = HOLDER

Definition at line 305 of file AuxTypeVector.h.

◆ element_type

template<class HOLDER >
using SG::AuxTypeVectorT< HOLDER >::element_type = typename Base::element_type

Definition at line 307 of file AuxTypeVector.h.

◆ vector_type

template<class HOLDER >
using SG::AuxTypeVectorT< HOLDER >::vector_type = typename Base::vector_type

Definition at line 306 of file AuxTypeVector.h.

◆ vector_value_type

template<class HOLDER >
using SG::AuxTypeVectorT< HOLDER >::vector_value_type = typename Base::vector_value_type

Definition at line 308 of file AuxTypeVector.h.

Constructor & Destructor Documentation

◆ AuxTypeVectorT() [1/3]

template<class HOLDER >
SG::AuxTypeVectorT< HOLDER >::AuxTypeVectorT ( auxid_t  auxid,
size_t  size,
size_t  capacity,
bool  isLinked 
)

Constructor.

Makes a new vector.

Parameters
auxidThe auxid of the variable this vector represents.
sizeInitial size of the new vector.
capacityInitial capacity of the new vector.
isLinkedTrue if this variable is linked from another one.

◆ AuxTypeVectorT() [2/3]

template<class HOLDER >
SG::AuxTypeVectorT< HOLDER >::AuxTypeVectorT ( const AuxTypeVectorT< HOLDER > &  other)

Copy constructor.

◆ AuxTypeVectorT() [3/3]

template<class HOLDER >
SG::AuxTypeVectorT< HOLDER >::AuxTypeVectorT ( AuxTypeVectorT< HOLDER > &&  other)

Move constructor.

Member Function Documentation

◆ clone()

template<class HOLDER >
virtual std::unique_ptr<IAuxTypeVector> SG::AuxTypeVectorT< HOLDER >::clone ( ) const
overridevirtual

Make a copy of this vector.

◆ operator=() [1/2]

template<class HOLDER >
AuxTypeVectorT& SG::AuxTypeVectorT< HOLDER >::operator= ( AuxTypeVectorT< HOLDER > &&  other)

Move assignment.

◆ operator=() [2/2]

template<class HOLDER >
AuxTypeVectorT& SG::AuxTypeVectorT< HOLDER >::operator= ( const AuxTypeVectorT< HOLDER > &  other)

Assignment.

Member Data Documentation

◆ m_vec

template<class HOLDER >
vector_type SG::AuxTypeVectorT< HOLDER >::m_vec
private

The contained vector.

Definition at line 355 of file AuxTypeVector.h.


The documentation for this class was generated from the following file: