![]() |
ATLAS Offline Software
|
Implementation of IAuxTypeVector holding a vector of JaggedVec.
More...
#include <JaggedVecVector.h>
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 | |
| JaggedVecVectorT (auxid_t auxid, size_t size, size_t capacity, std::unique_ptr< IAuxTypeVector > linkedVec) | |
| Constructor. | |
| JaggedVecVectorT (const JaggedVecVectorT &other) | |
| Copy constructor. | |
| JaggedVecVectorT (JaggedVecVectorT &&other) | |
| Move constructor. | |
| JaggedVecVectorT & | operator= (const JaggedVecVectorT &other)=delete |
| No assignment. | |
| JaggedVecVectorT & | operator= (JaggedVecVectorT &&other)=delete |
| virtual std::unique_ptr< IAuxTypeVector > | clone () const override |
| Make a copy of this vector. | |
| virtual std::unique_ptr< IAuxTypeVector > | linkedVector () override |
| Return ownership of the linked vector. | |
Private Attributes | |
| vector_type | m_vec |
| The contained vector. | |
| std::unique_ptr< IAuxTypeVector > | m_linkedVecHolder |
| Holding ownership of the linked vector. | |
Implementation of IAuxTypeVector holding a vector of JaggedVec.
This is a derived class of JaggedVecVectorHolder 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.
When an instance of this is created, it gets ownership of the linked vector via the constructor. When this interface gets added to an auxiliary store, the ownership of the linked vector will be transferred away using the linkedVector() method, allowing it to be added to the store as well.
Definition at line 162 of file JaggedVecVector.h.
| using SG::JaggedVecVectorT< HOLDER >::Base = HOLDER |
Definition at line 166 of file JaggedVecVector.h.
| using SG::JaggedVecVectorT< HOLDER >::element_type = typename Base::element_type |
Definition at line 168 of file JaggedVecVector.h.
| using SG::JaggedVecVectorT< HOLDER >::vector_type = typename Base::vector_type |
Definition at line 167 of file JaggedVecVector.h.
| using SG::JaggedVecVectorT< HOLDER >::vector_value_type = typename Base::vector_value_type |
Definition at line 169 of file JaggedVecVector.h.
| SG::JaggedVecVectorT< HOLDER >::JaggedVecVectorT | ( | auxid_t | auxid, |
| size_t | size, | ||
| size_t | capacity, | ||
| std::unique_ptr< IAuxTypeVector > | linkedVec ) |
| SG::JaggedVecVectorT< HOLDER >::JaggedVecVectorT | ( | const JaggedVecVectorT< HOLDER > & | other | ) |
Copy constructor.
| SG::JaggedVecVectorT< HOLDER >::JaggedVecVectorT | ( | JaggedVecVectorT< HOLDER > && | other | ) |
Move constructor.
|
overridevirtual |
Make a copy of this vector.
|
overridevirtual |
Return ownership of the linked vector.
|
delete |
No assignment.
|
delete |
|
private |
Holding ownership of the linked vector.
Definition at line 218 of file JaggedVecVector.h.
|
private |
The contained vector.
Definition at line 215 of file JaggedVecVector.h.