![]() |
ATLAS Offline Software
|
Implementation of IAuxTypeVector holding a vector of PackedLink.
More...
#include <PackedLinkVector.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 | |
| PackedLinkVectorT (auxid_t auxid, size_t size, size_t capacity, std::unique_ptr< IAuxTypeVector > linkedVec) | |
| Constructor. | |
| PackedLinkVectorT (const PackedLinkVectorT &other) | |
| Copy constructor. | |
| PackedLinkVectorT (PackedLinkVectorT &&other) | |
| Move constructor. | |
| PackedLinkVectorT & | operator= (const PackedLinkVectorT &other)=delete |
| No assignment. | |
| PackedLinkVectorT & | operator= (PackedLinkVectorT &&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 PackedLink.
This is a derived class of PackedLinkVectorHolder 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 203 of file PackedLinkVector.h.
| using SG::PackedLinkVectorT< HOLDER >::Base = HOLDER |
Definition at line 207 of file PackedLinkVector.h.
| using SG::PackedLinkVectorT< HOLDER >::element_type = typename Base::element_type |
Definition at line 209 of file PackedLinkVector.h.
| using SG::PackedLinkVectorT< HOLDER >::vector_type = typename Base::vector_type |
Definition at line 208 of file PackedLinkVector.h.
| using SG::PackedLinkVectorT< HOLDER >::vector_value_type = typename Base::vector_value_type |
Definition at line 210 of file PackedLinkVector.h.
| SG::PackedLinkVectorT< HOLDER >::PackedLinkVectorT | ( | auxid_t | auxid, |
| size_t | size, | ||
| size_t | capacity, | ||
| std::unique_ptr< IAuxTypeVector > | linkedVec ) |
| SG::PackedLinkVectorT< HOLDER >::PackedLinkVectorT | ( | const PackedLinkVectorT< HOLDER > & | other | ) |
Copy constructor.
| SG::PackedLinkVectorT< HOLDER >::PackedLinkVectorT | ( | PackedLinkVectorT< 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 259 of file PackedLinkVector.h.
|
private |
The contained vector.
Definition at line 256 of file PackedLinkVector.h.