ATLAS Offline Software
|
Base class for jagged vector proxies. More...
#include <JaggedVecConversions.h>
Public Types | |
using | Elt_t = SG::JaggedVecEltBase |
Type of a jagged vector element. More... | |
using | Elt_span = std::span< Elt_t > |
A span of elements. More... | |
using | index_type = typename Elt_t::index_type |
Type used for indexing into a jagged vector. More... | |
Public Member Functions | |
JaggedVecProxyBase (const AuxDataSpanBase &elts, AuxVectorData &container, SG::auxid_t auxid) | |
Constructor. More... | |
Elt_t & | elt (size_t elt_index) noexcept |
Return one jagged vector element (non-const). More... | |
const Elt_t & | elt (size_t elt_index) const noexcept |
Return one jagged vector element (const). More... | |
void | resize1 (size_t elt_index, index_type n_new) |
Resize one jagged vector element. More... | |
void | adjust1 (size_t elt_index, index_type index, int n_add) |
Add or remove payload items from one jagged vector element. More... | |
Private Attributes | |
Elt_span | m_elts |
The elements of the jagged vector. More... | |
AuxVectorData & | m_container |
The container holding the variable. More... | |
std::variant< IAuxTypeVector *, SG::auxid_t > | m_linkedVec |
Base class for jagged vector proxies.
Proxies are used for modifying elements of a jagged vector. This base class implements the parts that do not depend on payload type.
Definition at line 95 of file JaggedVecConversions.h.
using SG::detail::JaggedVecProxyBase::Elt_span = std::span<Elt_t> |
A span of elements.
Definition at line 102 of file JaggedVecConversions.h.
Type of a jagged vector element.
Definition at line 99 of file JaggedVecConversions.h.
using SG::detail::JaggedVecProxyBase::index_type = typename Elt_t::index_type |
Type used for indexing into a jagged vector.
Definition at line 105 of file JaggedVecConversions.h.
SG::detail::JaggedVecProxyBase::JaggedVecProxyBase | ( | const AuxDataSpanBase & | elts, |
AuxVectorData & | container, | ||
SG::auxid_t | auxid | ||
) |
Constructor.
elts | The elements of the jagged vector. |
container | The container holding this variable. |
auxid | The aux ID of this variable. |
void SG::detail::JaggedVecProxyBase::adjust1 | ( | size_t | elt_index, |
index_type | index, | ||
int | n_add | ||
) |
Add or remove payload items from one jagged vector element.
elt_index | The index of the element to resize. |
index | The index of the payload item within this jagged vector element after the insertion/deletion (in other words, the first element that moves as a result of the change). |
n_add | The number of elements to add. May be negative to remove elements. |
Definition at line 41 of file JaggedVecConversions.cxx.
Return one jagged vector element (const).
eltindex | The index of the element. |
|
noexcept |
Return one jagged vector element (non-const).
elt_index | The index of the element. |
void SG::detail::JaggedVecProxyBase::resize1 | ( | size_t | elt_index, |
index_type | n_new | ||
) |
Resize one jagged vector element.
elt_index | The index of the element to resize. |
n_new | The size of the new element. |
Any added payload elemnets are default-initialized.
eltindex | The index of the element to resize. |
n_new | The size of the new element. |
Any added payload elemnets are default-initialized.
Definition at line 25 of file JaggedVecConversions.cxx.
|
private |
The container holding the variable.
Definition at line 160 of file JaggedVecConversions.h.
|
private |
The elements of the jagged vector.
Definition at line 157 of file JaggedVecConversions.h.
|
private |
Definition at line 163 of file JaggedVecConversions.h.