ATLAS Offline Software
Loading...
Searching...
No Matches
ElementLinkVector< DOBJ > Class Template Reference

ElementLinkVector implementation for standalone ROOT. More...

#include <ElementLinkVector.h>

Inheritance diagram for ElementLinkVector< DOBJ >:
Collaboration diagram for ElementLinkVector< DOBJ >:

Classes

class  Short2LongRef
 a functor turning an ElemLinkRef into an ElementLink More...
class  ELVIterator

Public Types

typedef std::vector< DataLink< DOBJ > > DataLinkVector
typedef ElementLink< DOBJ > ElemLink
typedef ElemLink::ElementConstPointer ElementConstPointer
typedef ElemLink::index_type index_type
typedef ElemLink::ID_type ID_type
typedef ElemLink::sgkey_t sgkey_t
typedef ElementLinkVector< CONTAINER > ElemLinkVec
 Definition of the current type.
typedef ElementLink< CONTAINER > ElemLink
 Type of the EL that we have a vector of.
vector typedefs: it behaves like a vector<ElemLink>
typedef ElemLinkreference
typedef ElemLink const_reference
typedef ELVIterator< typename RefVector::iterator > iterator
typedef ELVIterator< typename RefVector::const_iterator > const_iterator
typedef RefVector::size_type size_type
typedef RefVector::difference_type difference_type
typedef ElemLink value_type
typedef RefVector::allocator_type allocator_type
typedef ElemLinkpointer
typedef const ElemLinkconst_pointer
typedef ELVIterator< typename RefVector::reverse_iterator > reverse_iterator
typedef ELVIterator< typename RefVector::const_reverse_iterator > const_reverse_iterator
STL-like type definitions
typedef ElemLink value_type
 Standard typedef for the type of the held objects.
typedef ElemLinkreference
 Type of the reference pointing to one element link.
typedef const ElemLinkconst_reference
 Type of the constant reference pointing to one element link.
typedef std::vector< ElemLink >::iterator iterator
 Type of the iterator for traversing the vector.
typedef std::vector< ElemLink >::const_iterator const_iterator
 Type of the constant iterator for traversing the vector.
typedef std::vector< ElemLink >::reverse_iterator reverse_iterator
 Type of the reverse iterator for traversing the vector.
typedef std::vector< ElemLink >::const_reverse_iterator const_reverse_iterator
 Type of the constant reverse iterator for traversing the vector.
typedef std::vector< ElemLink >::size_type size_type
 Type of the size of the vector.

Public Member Functions

ElemLinkVecoperator= (const ElemLinkVec &rhs)
 Assignment operator.
bool operator== (const ElementLinkVector &rhs) const
 Comparison operator.
bool operator!= (const ElementLinkVector &rhs) const
 Comparison operator.
virtual bool toTransient ()
 Reset the object's internal cache.
bool toPersistent ()
 Function copying the transient data into the persistent variables.
const std::vector< uint32_t > & persKeys () const
 Get the keys/identifiers of the referenced containers.
const std::vector< uint32_t > & persKeys () const
 Get the keys/identifiers of the referenced containers.
void setPersKeys (const std::vector< uint32_t > &keys)
 Set the keys/identifiers of the referenced containers.
void setPersKeys (const std::vector< uint32_t > &keys)
 Set the keys/identifiers of the referenced containers.
const std::vector< uint32_t > & persIndices () const
 Get the indices of the referenced objects in the containers.
const std::vector< uint32_t > & persIndices () const
 Get the indices of the referenced objects in the containers.
void setPersIndices (const std::vector< uint32_t > &indices)
 Set the indices of the referenced objects in the containers.
void setPersIndices (const std::vector< uint32_t > &indices)
 Set the indices of the referenced objects in the containers.
recommended (fast) access to contents of ElemLinks

by-pass the expensive creation of ElemLinks

ElementConstPointer elementCPtr (size_type index) const
 pointer to an element, given its ElementLinkVector index. O(1)
index_type elementIndex (size_type index) const
 host index of an element, given its ElementLinkVector index. O(1)
ID_type elementDataID (size_type index) const
 dataID (long ref) of an element, given its ElementLinkVector index. O(1)
iterators to DataLinkVector of host dobjs. Use e.g. for persistency
const DataLinkVectorhostDObjs () const
DataLinkVector::iterator beginHostDObjs ()
DataLinkVector::iterator endHostDObjs ()
DataLinkVector::const_iterator beginHostDObjs () const
DataLinkVector::const_iterator endHostDObjs () const
DataLinkVector::const_iterator findHostDObj (const ElemLink &link) const
 find the host of an element. Returns endHostDObjs() if not found
DataLinkVector::iterator findHostDObj (const ElemLink &link)
 find the host of an element. Returns endHostDObjs() if not found
void moveHostDObjs (DataLinkVector &dobjs)
vector constructors (no Allocators)
 ElementLinkVector ()
 ElementLinkVector (size_type n, const ElemLink &link)
 ElementLinkVector (int n, const ElemLink &link=ElemLink())
 ElementLinkVector (long n, const ElemLink &link=ElemLink())
 ElementLinkVector (size_type n)
 ElementLinkVector (const ElemLinkVec &vec)
 ElementLinkVector (ElemLinkVec &&vec) noexcept
ElementLinkVectoroperator= (const ElemLinkVec &vec)
ElementLinkVectoroperator= (ElemLinkVec &&vec) noexcept
template<class InputIterator>
void assign (InputIterator first, InputIterator last)
void assign (size_type n, const ElemLink &link)
bool toPersistent ()
bool toPersistent (std::vector< typename DataLinkVector::size_type > &shortrefs)
bool toPersistentDL ()
bool toTransient ()
 Reset the object's internal cache.
void doRemap ()
vector iterators
iterator begin ()
const_iterator begin () const
iterator end ()
const_iterator end () const
reverse_iterator rbegin ()
const_reverse_iterator rbegin () const
reverse_iterator rend ()
const_reverse_iterator rend () const
vector capacity
size_type size () const
size_type max_size () const
void resize (size_type sz, const ElemLink &link=ElemLink())
size_type capacity () const
bool empty () const
void reserve (size_type n)
vector element accessors. NB only CONST accessors
const_reference operator[] (size_type n) const
const_reference at (size_type n) const
const_reference front () const
const_reference back () const
Constructors
 ElementLinkVector ()
 Default constructor.
 ElementLinkVector (size_type n, const ElemLink &link=ElemLink())
 Constructor creating a vector of a given size.
 ElementLinkVector (const ElemLinkVec &parent)
 Copy constructor.
Vector iterator functions
iterator begin ()
 Get an iterator pointing at the first element.
const_iterator begin () const
 Get a constant iterator pointing at the first element.
iterator end ()
 Get an iterator pointing at the end of the container.
const_iterator end () const
 Get a constant iterator pointing at the end of the container.
reverse_iterator rbegin ()
 Get a reverse iterator pointing at the last element.
const_reverse_iterator rbegin () const
 Get a constant reverse iterator pointing at the last element.
reverse_iterator rend ()
 Get a reverse iterator pointing at the beginning of the container.
const_reverse_iterator rend () const
 Get a constant reverse iterator pointing at the beginning of the container.
Vector capacity functions
size_type size () const
 Get the size of the vector.
size_type max_size () const
 Get the maximal size of the object.
size_type capacity () const
 Get the capacity of the currently allocated object.
void resize (size_type sz, const ElemLink &link=ElemLink())
 Resize the vector to the specified size.
void reserve (size_type sz)
 Reserve some slots in the vector.
bool empty () const
 Function checking if the vector is empty.
Vector element accessors
const_reference operator[] (size_type n) const
 Get the element at a given index.
const_reference at (size_type n) const
 Get the element at a given index (with size check).
const_reference front () const
 Get the first element.
const_reference back () const
 Get the last element.

Protected Attributes

std::vector< uint32_t > m_persKeys
 Keys/identifiers of the referenced containers.
std::vector< uint32_t > m_persIndices
 Indices of the referenced objects in the containers.
bool m_isDirectIO
 A transient variable signaling when direct I/O is happening.

Private Types

typedef ElementLinkVector< DOBJ > ElemLinkVec
typedef SG::ELVRef< DOBJ > ElemLinkRef
typedef std::vector< ElemLinkRefRefVector
 the element links stored as ElemLinkRefs for compactness
typedef ROOT::Meta::Selection::ElementLinkVector< CONTAINER >::self DictSel
 Needed to take the Reflex/Cling specifications into account.

Private Attributes

RefVector m_shortRefs
DataLinkVector m_hostDObjs
 the dobjs hosting our elements. They are all of type DOBJ
std::vector< ElemLinkm_elVec
 Transient vector of element links.

FIXME don't know how to implement

typedef ROOT::Meta::Selection::ElementLinkVector< DOBJ >::self DictSel
 Needed for the simplified Reflex class name.
template<class InputIterator>
 ElementLinkVector (InputIterator first, InputIterator last)
template<class InputIterator>
void insert (iterator position, InputIterator first, InputIterator last)
bool operator== (const ElemLinkVec &lhs, const ElemLinkVec &rhs)
 access m_shortRefs
bool operator< (const ElemLinkVec &lhs, const ElemLinkVec &rhs)
 access m_shortRefs

vector Modifiers

void push_back (const ElemLink &link)
void pop_back ()
void push_back (typename DataLinkVector::size_type nameIndex, typename ElemLinkRef::index_type elementIndex)
iterator insert (iterator position, const ElemLink &link)
void insert (iterator position, size_type n, const ElemLink &link)
iterator erase (iterator position)
iterator erase (iterator first, iterator last)
void swap (ElemLinkVec &vec)
void clear ()
void push_back (const ElemLink &el)
 Add a new element link at the end of the vector.
void pop_back ()
 Remove the last element from the vector.
iterator erase (iterator position)
 Erase one element from the vector.
iterator erase (iterator first, iterator last)
 Erase a set of elements from the vector.
void swap (ElemLinkVec &vec)
 Swap the container's contents with another object's.
template<class InputIterator>
void assign (InputIterator first, InputIterator last)
 Fill the vector with the contents of another container.
void assign (size_type n, const ElemLink &link)
 Fill the vector with N identical links.
iterator insert (iterator position, const ElemLink &link)
 Insert a link in a certain position.
void insert (iterator position, size_type n, const ElemLink &link)
 Insert a number of identical links in a certain position.
void clear ()
 Clear the object.
void toTransient (uint64_t &dummy)
 Function setting up the object for forward indexing types.
void toTransient (uint32_t &dummy)
template<typename INDEX_TYPE>
void toTransient (INDEX_TYPE &dummy)
 Function taking care of all the other indexing types (no direct ROOT I/O).
void removeHostObj (const ElemLink &)
 remove host of link from list. O(N) in m_hostDObjs (which is small)
void addHostDObj (const ElemLink &link)
 add host of link to list. No duplicates. O(N) in m_hostDObjs
RefVector::const_iterator shortIterFromLong (const_iterator longIter) const
 get a short ref iterator from an iterator
RefVector::iterator shortIterFromLong (iterator longIter)
 get a short ref iterator from an iterator

Detailed Description

template<typename DOBJ>
class ElementLinkVector< DOBJ >

ElementLinkVector implementation for standalone ROOT.

a vector of "compact" element links.

   This class provides part of the interface provided by the offline
   implementation of ElementLinkVector. Just enough to make the code
   meaningfully usable in ROOT. But the plan is not to provide the
   full flexibility of the offline class.
Author
Attila Krasznahorkay Attil.nosp@m.a.Kr.nosp@m.aszna.nosp@m.hork.nosp@m.ay@ce.nosp@m.rn.c.nosp@m.h

It turns the host data object key into an index. The memory size of a compact link is three words/link, and only 2 words/link needs to be persistified. It also maintains a vector of hosts used to generate the "short ref"

Parameters
DOBJhost object type (e,g. vector<Elem>, NOT Elem), All host data objects must have the same type. xxx
IndexingPolicypolicy to find the element in the host DOBJ
IndexingPolicy is generated automatically for STL sequences (e.g. vector, DataList etc). For other types of containers (e.g. maps), the container author must define the container type using the macros in tools/DeclareIndexingPolicies.h
Advanced developers may have to define an ad-hoc indexing policy (e.g. GenParticleIndexing in GeneratorObjects/McEventIndexingPolicy.h)
Author
ATLAS Collaboration
Id
ElementLinkVector.h 702198 2015-10-21 20:58:43Z ssnyder

Definition at line 63 of file AthLinks/ElementLinkVector.h.

Member Typedef Documentation

◆ allocator_type

template<typename DOBJ>
typedef RefVector::allocator_type ElementLinkVector< DOBJ >::allocator_type

Definition at line 134 of file AthLinks/ElementLinkVector.h.

◆ const_iterator [1/2]

template<typename DOBJ>
typedef ELVIterator<typename RefVector::const_iterator> ElementLinkVector< DOBJ >::const_iterator

Definition at line 128 of file AthLinks/ElementLinkVector.h.

◆ const_iterator [2/2]

template<typename DOBJ>
typedef std::vector<ElemLink>::const_iterator ElementLinkVector< DOBJ >::const_iterator

Type of the constant iterator for traversing the vector.

Definition at line 54 of file A/AthLinks/ElementLinkVector.h.

◆ const_pointer

template<typename DOBJ>
typedef const ElemLink* ElementLinkVector< DOBJ >::const_pointer

Definition at line 136 of file AthLinks/ElementLinkVector.h.

◆ const_reference [1/2]

template<typename DOBJ>
typedef ElemLink ElementLinkVector< DOBJ >::const_reference

Definition at line 126 of file AthLinks/ElementLinkVector.h.

◆ const_reference [2/2]

template<typename DOBJ>
typedef const ElemLink& ElementLinkVector< DOBJ >::const_reference

Type of the constant reference pointing to one element link.

Definition at line 50 of file A/AthLinks/ElementLinkVector.h.

◆ const_reverse_iterator [1/2]

template<typename DOBJ>
typedef ELVIterator<typename RefVector::const_reverse_iterator> ElementLinkVector< DOBJ >::const_reverse_iterator

Definition at line 138 of file AthLinks/ElementLinkVector.h.

◆ const_reverse_iterator [2/2]

template<typename DOBJ>
typedef std::vector<ElemLink>::const_reverse_iterator ElementLinkVector< DOBJ >::const_reverse_iterator

Type of the constant reverse iterator for traversing the vector.

Definition at line 59 of file A/AthLinks/ElementLinkVector.h.

◆ DataLinkVector

template<typename DOBJ>
typedef std::vector< DataLink<DOBJ> > ElementLinkVector< DOBJ >::DataLinkVector

Definition at line 71 of file AthLinks/ElementLinkVector.h.

◆ DictSel [1/2]

template<typename DOBJ>
typedef ROOT::Meta::Selection::ElementLinkVector<DOBJ>::self ElementLinkVector< DOBJ >::DictSel
private

Needed for the simplified Reflex class name.

Definition at line 417 of file AthLinks/ElementLinkVector.h.

◆ DictSel [2/2]

template<typename DOBJ>
typedef ROOT::Meta::Selection::ElementLinkVector<CONTAINER>::self ElementLinkVector< DOBJ >::DictSel
private

Needed to take the Reflex/Cling specifications into account.

Definition at line 185 of file A/AthLinks/ElementLinkVector.h.

◆ difference_type

template<typename DOBJ>
typedef RefVector::difference_type ElementLinkVector< DOBJ >::difference_type

Definition at line 132 of file AthLinks/ElementLinkVector.h.

◆ ElementConstPointer

template<typename DOBJ>
typedef ElemLink::ElementConstPointer ElementLinkVector< DOBJ >::ElementConstPointer

Definition at line 98 of file AthLinks/ElementLinkVector.h.

◆ ElemLink [1/2]

template<typename DOBJ>
typedef ElementLink<DOBJ> ElementLinkVector< DOBJ >::ElemLink

Definition at line 72 of file AthLinks/ElementLinkVector.h.

◆ ElemLink [2/2]

template<typename DOBJ>
typedef ElementLink< CONTAINER > ElementLinkVector< DOBJ >::ElemLink

Type of the EL that we have a vector of.

Definition at line 40 of file A/AthLinks/ElementLinkVector.h.

◆ ElemLinkRef

template<typename DOBJ>
typedef SG::ELVRef<DOBJ> ElementLinkVector< DOBJ >::ElemLinkRef
private

Definition at line 67 of file AthLinks/ElementLinkVector.h.

◆ ElemLinkVec [1/2]

template<typename DOBJ>
typedef ElementLinkVector<DOBJ> ElementLinkVector< DOBJ >::ElemLinkVec
private

Definition at line 66 of file AthLinks/ElementLinkVector.h.

◆ ElemLinkVec [2/2]

template<typename DOBJ>
typedef ElementLinkVector< CONTAINER > ElementLinkVector< DOBJ >::ElemLinkVec

Definition of the current type.

Definition at line 38 of file A/AthLinks/ElementLinkVector.h.

◆ ID_type

template<typename DOBJ>
typedef ElemLink::ID_type ElementLinkVector< DOBJ >::ID_type

Definition at line 100 of file AthLinks/ElementLinkVector.h.

◆ index_type

template<typename DOBJ>
typedef ElemLink::index_type ElementLinkVector< DOBJ >::index_type

Definition at line 99 of file AthLinks/ElementLinkVector.h.

◆ iterator [1/2]

template<typename DOBJ>
typedef ELVIterator<typename RefVector::iterator> ElementLinkVector< DOBJ >::iterator

Definition at line 127 of file AthLinks/ElementLinkVector.h.

◆ iterator [2/2]

template<typename DOBJ>
typedef std::vector<ElemLink>::iterator ElementLinkVector< DOBJ >::iterator

Type of the iterator for traversing the vector.

Definition at line 52 of file A/AthLinks/ElementLinkVector.h.

◆ pointer

template<typename DOBJ>
typedef ElemLink* ElementLinkVector< DOBJ >::pointer

Definition at line 135 of file AthLinks/ElementLinkVector.h.

◆ reference [1/2]

template<typename DOBJ>
typedef ElemLink& ElementLinkVector< DOBJ >::reference

Definition at line 124 of file AthLinks/ElementLinkVector.h.

◆ reference [2/2]

template<typename DOBJ>
typedef ElemLink& ElementLinkVector< DOBJ >::reference

Type of the reference pointing to one element link.

Definition at line 48 of file A/AthLinks/ElementLinkVector.h.

◆ RefVector

template<typename DOBJ>
typedef std::vector<ElemLinkRef> ElementLinkVector< DOBJ >::RefVector
private

the element links stored as ElemLinkRefs for compactness

Definition at line 91 of file AthLinks/ElementLinkVector.h.

◆ reverse_iterator [1/2]

template<typename DOBJ>
typedef ELVIterator<typename RefVector::reverse_iterator> ElementLinkVector< DOBJ >::reverse_iterator

Definition at line 137 of file AthLinks/ElementLinkVector.h.

◆ reverse_iterator [2/2]

template<typename DOBJ>
typedef std::vector<ElemLink>::reverse_iterator ElementLinkVector< DOBJ >::reverse_iterator

Type of the reverse iterator for traversing the vector.

Definition at line 56 of file A/AthLinks/ElementLinkVector.h.

◆ sgkey_t

template<typename DOBJ>
typedef ElemLink::sgkey_t ElementLinkVector< DOBJ >::sgkey_t

Definition at line 101 of file AthLinks/ElementLinkVector.h.

◆ size_type [1/2]

template<typename DOBJ>
typedef RefVector::size_type ElementLinkVector< DOBJ >::size_type

Definition at line 131 of file AthLinks/ElementLinkVector.h.

◆ size_type [2/2]

template<typename DOBJ>
typedef std::vector<ElemLink>::size_type ElementLinkVector< DOBJ >::size_type

Type of the size of the vector.

Definition at line 61 of file A/AthLinks/ElementLinkVector.h.

◆ value_type [1/2]

template<typename DOBJ>
typedef ElemLink ElementLinkVector< DOBJ >::value_type

Definition at line 133 of file AthLinks/ElementLinkVector.h.

◆ value_type [2/2]

template<typename DOBJ>
typedef ElemLink ElementLinkVector< DOBJ >::value_type

Standard typedef for the type of the held objects.

Definition at line 46 of file A/AthLinks/ElementLinkVector.h.

Constructor & Destructor Documentation

◆ ElementLinkVector() [1/11]

template<typename DOBJ>
ElementLinkVector< DOBJ >::ElementLinkVector ( )

Definition at line 422 of file AthLinks/ElementLinkVector.h.

423}
ElementLinkVectorBase(const std::vector< uint32_t > &keys=std::vector< uint32_t >(), const std::vector< uint32_t > &indices=std::vector< uint32_t >())
Default constructor.

◆ ElementLinkVector() [2/11]

template<typename DOBJ>
ElementLinkVector< DOBJ >::ElementLinkVector ( size_type n,
const ElemLink & link )
inline

Definition at line 194 of file AthLinks/ElementLinkVector.h.

194 :
196 {
197 if (n > 0)
199 }
ElementLinkVector implementation for standalone ROOT.
void addHostDObj(const ElemLink &link)
add host of link to list. No duplicates. O(N) in m_hostDObjs
SG::ELVRef< DOBJ > ElemLinkRef

◆ ElementLinkVector() [3/11]

template<typename DOBJ>
ElementLinkVector< DOBJ >::ElementLinkVector ( int n,
const ElemLink & link = ElemLink() )
inline

Definition at line 201 of file AthLinks/ElementLinkVector.h.

201 :
203 {
204 if (n > 0)
206 }

◆ ElementLinkVector() [4/11]

template<typename DOBJ>
ElementLinkVector< DOBJ >::ElementLinkVector ( long n,
const ElemLink & link = ElemLink() )
inline

Definition at line 208 of file AthLinks/ElementLinkVector.h.

208 :
210 {
211 if (n > 0)
213 }

◆ ElementLinkVector() [5/11]

template<typename DOBJ>
ElementLinkVector< DOBJ >::ElementLinkVector ( size_type n)
inlineexplicit

Definition at line 215 of file AthLinks/ElementLinkVector.h.

◆ ElementLinkVector() [6/11]

template<typename DOBJ>
ElementLinkVector< DOBJ >::ElementLinkVector ( const ElemLinkVec & vec)
inline

Definition at line 218 of file AthLinks/ElementLinkVector.h.

218 :
DataLinkVector m_hostDObjs
the dobjs hosting our elements. They are all of type DOBJ

◆ ElementLinkVector() [7/11]

template<typename DOBJ>
ElementLinkVector< DOBJ >::ElementLinkVector ( ElemLinkVec && vec)
inlinenoexcept

◆ ElementLinkVector() [8/11]

template<typename DOBJ>
template<class InputIterator>
ElementLinkVector< DOBJ >::ElementLinkVector ( InputIterator first,
InputIterator last )
private

◆ ElementLinkVector() [9/11]

template<typename DOBJ>
ElementLinkVector< DOBJ >::ElementLinkVector ( )

Default constructor.

◆ ElementLinkVector() [10/11]

template<typename DOBJ>
ElementLinkVector< DOBJ >::ElementLinkVector ( size_type n,
const ElemLink & link = ElemLink() )

Constructor creating a vector of a given size.

◆ ElementLinkVector() [11/11]

template<typename DOBJ>
ElementLinkVector< DOBJ >::ElementLinkVector ( const ElemLinkVec & parent)

Copy constructor.

Member Function Documentation

◆ addHostDObj()

template<typename DOBJ>
void ElementLinkVector< DOBJ >::addHostDObj ( const ElemLink & link)
private

add host of link to list. No duplicates. O(N) in m_hostDObjs

◆ assign() [1/4]

template<typename DOBJ>
template<class InputIterator>
void ElementLinkVector< DOBJ >::assign ( InputIterator first,
InputIterator last )
inline

Definition at line 250 of file AthLinks/ElementLinkVector.h.

250 {
251 clear();
252 insert(begin(), first, last);
253 }
iterator insert(iterator position, const ElemLink &link)

◆ assign() [2/4]

template<typename DOBJ>
template<class InputIterator>
void ElementLinkVector< DOBJ >::assign ( InputIterator first,
InputIterator last )

Fill the vector with the contents of another container.

◆ assign() [3/4]

template<typename DOBJ>
void ElementLinkVector< DOBJ >::assign ( size_type n,
const ElemLink & link )
inline

Definition at line 254 of file AthLinks/ElementLinkVector.h.

254 {
255 clear();
256 insert(begin(), n, link);
257 }

◆ assign() [4/4]

template<typename DOBJ>
void ElementLinkVector< DOBJ >::assign ( size_type n,
const ElemLink & link )

Fill the vector with N identical links.

◆ at() [1/2]

template<typename DOBJ>
const_reference ElementLinkVector< DOBJ >::at ( size_type n) const
inline

Definition at line 308 of file AthLinks/ElementLinkVector.h.

308{ return m_shortRefs.at(n).elementLink(); }

◆ at() [2/2]

template<typename DOBJ>
const_reference ElementLinkVector< DOBJ >::at ( size_type n) const
inline

Get the element at a given index (with size check).

Definition at line 134 of file A/AthLinks/ElementLinkVector.h.

134{ return m_elVec.at( n ); }
std::vector< ElemLink > m_elVec
Transient vector of element links.

◆ back() [1/2]

template<typename DOBJ>
const_reference ElementLinkVector< DOBJ >::back ( ) const
inline

Definition at line 312 of file AthLinks/ElementLinkVector.h.

312{ return m_shortRefs.back().elementLink(); }

◆ back() [2/2]

template<typename DOBJ>
const_reference ElementLinkVector< DOBJ >::back ( ) const
inline

Get the last element.

Definition at line 138 of file A/AthLinks/ElementLinkVector.h.

138{ return m_elVec.back(); }

◆ begin() [1/4]

template<typename DOBJ>
iterator ElementLinkVector< DOBJ >::begin ( )
inline

Definition at line 273 of file AthLinks/ElementLinkVector.h.

273{ return iterator(m_shortRefs.begin(), Short2LongRef()); }
ELVIterator< typename RefVector::iterator > iterator
a functor turning an ElemLinkRef into an ElementLink

◆ begin() [2/4]

template<typename DOBJ>
iterator ElementLinkVector< DOBJ >::begin ( )
inline

Get an iterator pointing at the first element.

Definition at line 89 of file A/AthLinks/ElementLinkVector.h.

89{ return m_elVec.begin(); }

◆ begin() [3/4]

template<typename DOBJ>
const_iterator ElementLinkVector< DOBJ >::begin ( ) const
inline

Definition at line 274 of file AthLinks/ElementLinkVector.h.

274 {
275 return const_iterator(m_shortRefs.begin(), Short2LongRef());
276 }
ELVIterator< typename RefVector::const_iterator > const_iterator

◆ begin() [4/4]

template<typename DOBJ>
const_iterator ElementLinkVector< DOBJ >::begin ( ) const
inline

Get a constant iterator pointing at the first element.

Definition at line 91 of file A/AthLinks/ElementLinkVector.h.

91{ return m_elVec.begin(); }

◆ beginHostDObjs() [1/2]

template<typename DOBJ>
DataLinkVector::iterator ElementLinkVector< DOBJ >::beginHostDObjs ( )
inline

Definition at line 165 of file AthLinks/ElementLinkVector.h.

165 {
166 return m_hostDObjs.begin();
167 }

◆ beginHostDObjs() [2/2]

template<typename DOBJ>
DataLinkVector::const_iterator ElementLinkVector< DOBJ >::beginHostDObjs ( ) const
inline

Definition at line 171 of file AthLinks/ElementLinkVector.h.

171 {
172 return m_hostDObjs.begin();
173 }

◆ capacity() [1/2]

template<typename DOBJ>
size_type ElementLinkVector< DOBJ >::capacity ( ) const
inline

Definition at line 296 of file AthLinks/ElementLinkVector.h.

296{ return m_shortRefs.capacity(); }

◆ capacity() [2/2]

template<typename DOBJ>
size_type ElementLinkVector< DOBJ >::capacity ( ) const
inline

Get the capacity of the currently allocated object.

Definition at line 118 of file A/AthLinks/ElementLinkVector.h.

118{ return m_elVec.capacity(); }

◆ clear() [1/2]

template<typename DOBJ>
void ElementLinkVector< DOBJ >::clear ( )
inline

Definition at line 342 of file AthLinks/ElementLinkVector.h.

342 {
343 m_hostDObjs.clear();
344 m_shortRefs.clear();
345 }

◆ clear() [2/2]

template<typename DOBJ>
void ElementLinkVector< DOBJ >::clear ( )

Clear the object.

◆ doRemap()

template<typename DOBJ>
void ElementLinkVector< DOBJ >::doRemap ( )

◆ elementCPtr()

template<typename DOBJ>
ElementConstPointer ElementLinkVector< DOBJ >::elementCPtr ( size_type index) const
inline

pointer to an element, given its ElementLinkVector index. O(1)

Definition at line 148 of file AthLinks/ElementLinkVector.h.

148 {
149 return m_shortRefs[index].cptr();
150 }

◆ elementDataID()

template<typename DOBJ>
ID_type ElementLinkVector< DOBJ >::elementDataID ( size_type index) const
inline

dataID (long ref) of an element, given its ElementLinkVector index. O(1)

Definition at line 156 of file AthLinks/ElementLinkVector.h.

156 {
157 return m_shortRefs[index].dataID();
158 }

◆ elementIndex()

template<typename DOBJ>
index_type ElementLinkVector< DOBJ >::elementIndex ( size_type index) const
inline

host index of an element, given its ElementLinkVector index. O(1)

Definition at line 152 of file AthLinks/ElementLinkVector.h.

152 {
153 return m_shortRefs[index].elementIndex();
154 }

◆ empty() [1/2]

template<typename DOBJ>
bool ElementLinkVector< DOBJ >::empty ( ) const
inline

Definition at line 297 of file AthLinks/ElementLinkVector.h.

297{ return 0 == size(); }

◆ empty() [2/2]

template<typename DOBJ>
bool ElementLinkVector< DOBJ >::empty ( ) const
inline

Function checking if the vector is empty.

Definition at line 124 of file A/AthLinks/ElementLinkVector.h.

124{ return ( size() == 0 ); }

◆ end() [1/4]

template<typename DOBJ>
iterator ElementLinkVector< DOBJ >::end ( )
inline

Definition at line 277 of file AthLinks/ElementLinkVector.h.

277{ return iterator(m_shortRefs.end(), Short2LongRef()); }

◆ end() [2/4]

template<typename DOBJ>
iterator ElementLinkVector< DOBJ >::end ( )
inline

Get an iterator pointing at the end of the container.

Definition at line 94 of file A/AthLinks/ElementLinkVector.h.

94{ return m_elVec.end(); }

◆ end() [3/4]

template<typename DOBJ>
const_iterator ElementLinkVector< DOBJ >::end ( ) const
inline

Definition at line 278 of file AthLinks/ElementLinkVector.h.

278 {
279 return const_iterator(m_shortRefs.end(), Short2LongRef());
280 }

◆ end() [4/4]

template<typename DOBJ>
const_iterator ElementLinkVector< DOBJ >::end ( ) const
inline

Get a constant iterator pointing at the end of the container.

Definition at line 96 of file A/AthLinks/ElementLinkVector.h.

96{ return m_elVec.end(); }

◆ endHostDObjs() [1/2]

template<typename DOBJ>
DataLinkVector::iterator ElementLinkVector< DOBJ >::endHostDObjs ( )
inline

Definition at line 168 of file AthLinks/ElementLinkVector.h.

168 {
169 return m_hostDObjs.end();
170 }

◆ endHostDObjs() [2/2]

template<typename DOBJ>
DataLinkVector::const_iterator ElementLinkVector< DOBJ >::endHostDObjs ( ) const
inline

Definition at line 174 of file AthLinks/ElementLinkVector.h.

174 {
175 return m_hostDObjs.end();
176 }

◆ erase() [1/4]

template<typename DOBJ>
iterator ElementLinkVector< DOBJ >::erase ( iterator first,
iterator last )

◆ erase() [2/4]

template<typename DOBJ>
iterator ElementLinkVector< DOBJ >::erase ( iterator first,
iterator last )

Erase a set of elements from the vector.

◆ erase() [3/4]

template<typename DOBJ>
iterator ElementLinkVector< DOBJ >::erase ( iterator position)

◆ erase() [4/4]

template<typename DOBJ>
iterator ElementLinkVector< DOBJ >::erase ( iterator position)

Erase one element from the vector.

◆ findHostDObj() [1/2]

template<typename DOBJ>
DataLinkVector::iterator ElementLinkVector< DOBJ >::findHostDObj ( const ElemLink & link)

find the host of an element. Returns endHostDObjs() if not found

◆ findHostDObj() [2/2]

template<typename DOBJ>
DataLinkVector::const_iterator ElementLinkVector< DOBJ >::findHostDObj ( const ElemLink & link) const

find the host of an element. Returns endHostDObjs() if not found

◆ front() [1/2]

template<typename DOBJ>
const_reference ElementLinkVector< DOBJ >::front ( ) const
inline

Definition at line 310 of file AthLinks/ElementLinkVector.h.

310{ return m_shortRefs.front().elementLink(); }

◆ front() [2/2]

template<typename DOBJ>
const_reference ElementLinkVector< DOBJ >::front ( ) const
inline

Get the first element.

Definition at line 136 of file A/AthLinks/ElementLinkVector.h.

136{ return m_elVec.front(); }

◆ hostDObjs()

template<typename DOBJ>
const DataLinkVector & ElementLinkVector< DOBJ >::hostDObjs ( ) const
inline

Definition at line 164 of file AthLinks/ElementLinkVector.h.

164{ return m_hostDObjs; }

◆ insert() [1/5]

template<typename DOBJ>
iterator ElementLinkVector< DOBJ >::insert ( iterator position,
const ElemLink & link )

◆ insert() [2/5]

template<typename DOBJ>
iterator ElementLinkVector< DOBJ >::insert ( iterator position,
const ElemLink & link )

Insert a link in a certain position.

◆ insert() [3/5]

template<typename DOBJ>
template<class InputIterator>
void ElementLinkVector< DOBJ >::insert ( iterator position,
InputIterator first,
InputIterator last )
private

◆ insert() [4/5]

template<typename DOBJ>
void ElementLinkVector< DOBJ >::insert ( iterator position,
size_type n,
const ElemLink & link )

◆ insert() [5/5]

template<typename DOBJ>
void ElementLinkVector< DOBJ >::insert ( iterator position,
size_type n,
const ElemLink & link )

Insert a number of identical links in a certain position.

◆ max_size() [1/2]

template<typename DOBJ>
size_type ElementLinkVector< DOBJ >::max_size ( ) const
inline

Definition at line 294 of file AthLinks/ElementLinkVector.h.

294{ return m_shortRefs.max_size(); }

◆ max_size() [2/2]

template<typename DOBJ>
size_type ElementLinkVector< DOBJ >::max_size ( ) const
inline

Get the maximal size of the object.

Definition at line 116 of file A/AthLinks/ElementLinkVector.h.

116{ return m_elVec.max_size(); }

◆ moveHostDObjs()

template<typename DOBJ>
void ElementLinkVector< DOBJ >::moveHostDObjs ( DataLinkVector & dobjs)

◆ operator!=()

template<typename DOBJ>
bool ElementLinkVector< DOBJ >::operator!= ( const ElementLinkVector< DOBJ > & rhs) const

Comparison operator.

◆ operator=() [1/3]

template<typename DOBJ>
ElemLinkVec & ElementLinkVector< DOBJ >::operator= ( const ElemLinkVec & rhs)

Assignment operator.

◆ operator=() [2/3]

template<typename DOBJ>
ElementLinkVector & ElementLinkVector< DOBJ >::operator= ( const ElemLinkVec & vec)
inline

Definition at line 227 of file AthLinks/ElementLinkVector.h.

228 {
229 if (this != &vec) {
234 }
235 return *this;
236 }
std::vector< uint32_t > m_persKeys
Keys/identifiers of the referenced containers.
std::vector< uint32_t > m_persIndices
Indices of the referenced objects in the containers.

◆ operator=() [3/3]

template<typename DOBJ>
ElementLinkVector & ElementLinkVector< DOBJ >::operator= ( ElemLinkVec && vec)
inlinenoexcept

Definition at line 238 of file AthLinks/ElementLinkVector.h.

239 {
240 if (this != &vec) {
245 }
246 return *this;
247 }

◆ operator==()

template<typename DOBJ>
bool ElementLinkVector< DOBJ >::operator== ( const ElementLinkVector< DOBJ > & rhs) const

Comparison operator.

◆ operator[]() [1/2]

template<typename DOBJ>
const_reference ElementLinkVector< DOBJ >::operator[] ( size_type n) const
inline

Definition at line 305 of file AthLinks/ElementLinkVector.h.

305{ return m_shortRefs[n].elementLink(); }

◆ operator[]() [2/2]

template<typename DOBJ>
const_reference ElementLinkVector< DOBJ >::operator[] ( size_type n) const
inline

Get the element at a given index.

Definition at line 132 of file A/AthLinks/ElementLinkVector.h.

132{ return m_elVec[ n ]; }

◆ persIndices() [1/2]

const std::vector< uint32_t > & ElementLinkVectorBase::persIndices ( ) const
inherited

Get the indices of the referenced objects in the containers.

Definition at line 29 of file src/ElementLinkVectorBase.cxx.

29 {
30
31 return m_persIndices;
32}

◆ persIndices() [2/2]

const std::vector< uint32_t > & ElementLinkVectorBase::persIndices ( ) const
inherited

Get the indices of the referenced objects in the containers.

◆ persKeys() [1/2]

const std::vector< uint32_t > & ElementLinkVectorBase::persKeys ( ) const
inherited

Get the keys/identifiers of the referenced containers.

Definition at line 17 of file src/ElementLinkVectorBase.cxx.

17 {
18
19 return m_persKeys;
20}

◆ persKeys() [2/2]

const std::vector< uint32_t > & ElementLinkVectorBase::persKeys ( ) const
inherited

Get the keys/identifiers of the referenced containers.

◆ pop_back() [1/2]

template<typename DOBJ>
void ElementLinkVector< DOBJ >::pop_back ( )
inline

Definition at line 321 of file AthLinks/ElementLinkVector.h.

321 { //FIXME CHECK
323 m_shortRefs.pop_back();
324 }
void removeHostObj(const ElemLink &)
remove host of link from list. O(N) in m_hostDObjs (which is small)
const_reference back() const

◆ pop_back() [2/2]

template<typename DOBJ>
void ElementLinkVector< DOBJ >::pop_back ( )

Remove the last element from the vector.

◆ push_back() [1/3]

template<typename DOBJ>
void ElementLinkVector< DOBJ >::push_back ( const ElemLink & el)

Add a new element link at the end of the vector.

◆ push_back() [2/3]

template<typename DOBJ>
void ElementLinkVector< DOBJ >::push_back ( const ElemLink & link)
inline

Definition at line 317 of file AthLinks/ElementLinkVector.h.

317 {
319 m_shortRefs.push_back(ElemLinkRef(link));
320 }

◆ push_back() [3/3]

template<typename DOBJ>
void ElementLinkVector< DOBJ >::push_back ( typename DataLinkVector::size_type nameIndex,
typename ElemLinkRef::index_type elementIndex )

◆ rbegin() [1/4]

template<typename DOBJ>
reverse_iterator ElementLinkVector< DOBJ >::rbegin ( )
inline

Definition at line 281 of file AthLinks/ElementLinkVector.h.

281{ return reverse_iterator(m_shortRefs.begin(), Short2LongRef()); }
ELVIterator< typename RefVector::reverse_iterator > reverse_iterator

◆ rbegin() [2/4]

template<typename DOBJ>
reverse_iterator ElementLinkVector< DOBJ >::rbegin ( )
inline

Get a reverse iterator pointing at the last element.

Definition at line 99 of file A/AthLinks/ElementLinkVector.h.

99{ return m_elVec.rbegin(); }

◆ rbegin() [3/4]

template<typename DOBJ>
const_reverse_iterator ElementLinkVector< DOBJ >::rbegin ( ) const
inline

Definition at line 282 of file AthLinks/ElementLinkVector.h.

282 {
284 }
ELVIterator< typename RefVector::const_reverse_iterator > const_reverse_iterator

◆ rbegin() [4/4]

template<typename DOBJ>
const_reverse_iterator ElementLinkVector< DOBJ >::rbegin ( ) const
inline

Get a constant reverse iterator pointing at the last element.

Definition at line 101 of file A/AthLinks/ElementLinkVector.h.

101{ return m_elVec.rbegin(); }

◆ removeHostObj()

template<typename DOBJ>
void ElementLinkVector< DOBJ >::removeHostObj ( const ElemLink & )
inlineprivate

remove host of link from list. O(N) in m_hostDObjs (which is small)

Definition at line 357 of file AthLinks/ElementLinkVector.h.

361 {
362#ifdef __ELVDEBUG
363 std::cout << "DUMMY removeHostDObj called for link "
364 << link.dataID() << "/" << link.index() << std::endl;
365#endif
366 //FIXME this is a dummy until we find how to remove an host w/o
367 //FIXME screwing up the otherElemLinkRefs
368 //FIXME m_hostDObjs.erase(findHostDObj(link));
369 }

◆ rend() [1/4]

template<typename DOBJ>
reverse_iterator ElementLinkVector< DOBJ >::rend ( )
inline

Definition at line 285 of file AthLinks/ElementLinkVector.h.

285{ return reverse_iterator(m_shortRefs.end(), Short2LongRef()); }

◆ rend() [2/4]

template<typename DOBJ>
reverse_iterator ElementLinkVector< DOBJ >::rend ( )
inline

Get a reverse iterator pointing at the beginning of the container.

Definition at line 104 of file A/AthLinks/ElementLinkVector.h.

104{ return m_elVec.rend(); }

◆ rend() [3/4]

template<typename DOBJ>
const_reverse_iterator ElementLinkVector< DOBJ >::rend ( ) const
inline

Definition at line 286 of file AthLinks/ElementLinkVector.h.

286 {
288 }

◆ rend() [4/4]

template<typename DOBJ>
const_reverse_iterator ElementLinkVector< DOBJ >::rend ( ) const
inline

Get a constant reverse iterator pointing at the beginning of the container.

Definition at line 106 of file A/AthLinks/ElementLinkVector.h.

106{ return m_elVec.rend(); }

◆ reserve() [1/2]

template<typename DOBJ>
void ElementLinkVector< DOBJ >::reserve ( size_type n)
inline

Definition at line 298 of file AthLinks/ElementLinkVector.h.

298{ return m_shortRefs.reserve(n); }

◆ reserve() [2/2]

template<typename DOBJ>
void ElementLinkVector< DOBJ >::reserve ( size_type sz)
inline

Reserve some slots in the vector.

Definition at line 122 of file A/AthLinks/ElementLinkVector.h.

122{ m_elVec.reserve( sz ); }

◆ resize() [1/2]

template<typename DOBJ>
void ElementLinkVector< DOBJ >::resize ( size_type sz,
const ElemLink & link = ElemLink() )

◆ resize() [2/2]

template<typename DOBJ>
void ElementLinkVector< DOBJ >::resize ( size_type sz,
const ElemLink & link = ElemLink() )

Resize the vector to the specified size.

◆ setPersIndices() [1/2]

void ElementLinkVectorBase::setPersIndices ( const std::vector< uint32_t > & indices)
inherited

Set the indices of the referenced objects in the containers.

Definition at line 35 of file src/ElementLinkVectorBase.cxx.

36 {
37
39 return;
40}
std::pair< long int, long int > indices

◆ setPersIndices() [2/2]

void ElementLinkVectorBase::setPersIndices ( const std::vector< uint32_t > & indices)
inherited

Set the indices of the referenced objects in the containers.

◆ setPersKeys() [1/2]

void ElementLinkVectorBase::setPersKeys ( const std::vector< uint32_t > & keys)
inherited

Set the keys/identifiers of the referenced containers.

Definition at line 23 of file src/ElementLinkVectorBase.cxx.

◆ setPersKeys() [2/2]

void ElementLinkVectorBase::setPersKeys ( const std::vector< uint32_t > & keys)
inherited

Set the keys/identifiers of the referenced containers.

◆ shortIterFromLong() [1/2]

template<typename DOBJ>
RefVector::const_iterator ElementLinkVector< DOBJ >::shortIterFromLong ( const_iterator longIter) const
inlineprivate

get a short ref iterator from an iterator

Definition at line 376 of file AthLinks/ElementLinkVector.h.

376 {
377 typename RefVector::const_iterator ret(m_shortRefs.begin());
379#ifdef __ELVDEBUG
380 std::cout << "shortIterFromLong(const version) called for "
381 << longIter->dataID() << "/" << longIter->index()
382 << " advance by " << distance(begin(), longIter)
383 << " result is " << ret->dataID() << "/" << ret->index() << std::endl;
384#endif
385 return ret;
386 }

◆ shortIterFromLong() [2/2]

template<typename DOBJ>
RefVector::iterator ElementLinkVector< DOBJ >::shortIterFromLong ( iterator longIter)
inlineprivate

get a short ref iterator from an iterator

Definition at line 390 of file AthLinks/ElementLinkVector.h.

390 {
391 typename RefVector::iterator ret(m_shortRefs.begin());
393#ifdef __ELVDEBUG
394 std::cout << "shortIterFromLong called for "
395 << longIter->dataID() << "/" << longIter->index()
396 << " advance by " << distance(begin(), longIter)
397 << " result is " << ret->dataID() << "/" << ret->index() << std::endl;
398#endif
399 return ret;
400 }

◆ size() [1/2]

template<typename DOBJ>
size_type ElementLinkVector< DOBJ >::size ( ) const
inline

Definition at line 293 of file AthLinks/ElementLinkVector.h.

293{ return m_shortRefs.size(); }

◆ size() [2/2]

template<typename DOBJ>
size_type ElementLinkVector< DOBJ >::size ( ) const
inline

Get the size of the vector.

Definition at line 114 of file A/AthLinks/ElementLinkVector.h.

114{ return m_elVec.size(); }

◆ swap() [1/2]

template<typename DOBJ>
void ElementLinkVector< DOBJ >::swap ( ElemLinkVec & vec)
inline

Definition at line 337 of file AthLinks/ElementLinkVector.h.

337 {
340 }

◆ swap() [2/2]

template<typename DOBJ>
void ElementLinkVector< DOBJ >::swap ( ElemLinkVec & vec)

Swap the container's contents with another object's.

◆ toPersistent() [1/3]

template<typename DOBJ>
bool ElementLinkVector< DOBJ >::toPersistent ( )

◆ toPersistent() [2/3]

template<typename DOBJ>
bool ElementLinkVector< DOBJ >::toPersistent ( )

Function copying the transient data into the persistent variables.

◆ toPersistent() [3/3]

template<typename DOBJ>
bool ElementLinkVector< DOBJ >::toPersistent ( std::vector< typename DataLinkVector::size_type > & shortrefs)

◆ toPersistentDL()

template<typename DOBJ>
bool ElementLinkVector< DOBJ >::toPersistentDL ( )

◆ toTransient() [1/5]

template<typename DOBJ>
bool ElementLinkVector< DOBJ >::toTransient ( )
virtual

Reset the object's internal cache.

Implements ElementLinkVectorBase.

◆ toTransient() [2/5]

template<typename DOBJ>
virtual bool ElementLinkVector< DOBJ >::toTransient ( )
virtual

Reset the object's internal cache.

Implements ElementLinkVectorBase.

◆ toTransient() [3/5]

template<typename DOBJ>
template<typename INDEX_TYPE>
void ElementLinkVector< DOBJ >::toTransient ( INDEX_TYPE & dummy)
private

Function taking care of all the other indexing types (no direct ROOT I/O).

◆ toTransient() [4/5]

template<typename DOBJ>
void ElementLinkVector< DOBJ >::toTransient ( uint32_t & dummy)
private

◆ toTransient() [5/5]

template<typename DOBJ>
void ElementLinkVector< DOBJ >::toTransient ( uint64_t & dummy)
private

Function setting up the object for forward indexing types.

◆ operator<

template<typename DOBJ>
bool operator< ( const ElemLinkVec & lhs,
const ElemLinkVec & rhs )
friend

access m_shortRefs

Definition at line 455 of file AthLinks/ElementLinkVector.h.

457 {
458 return (lhs.m_shortRefs < rhs.m_shortRefs);
459}

◆ operator==

template<typename DOBJ>
bool operator== ( const ElemLinkVec & lhs,
const ElemLinkVec & rhs )
friend

access m_shortRefs

Definition at line 468 of file AthLinks/ElementLinkVector.h.

469 {
470 return (lhs.m_shortRefs == rhs.m_shortRefs);
471}

Member Data Documentation

◆ m_elVec

template<typename DOBJ>
std::vector< ElemLink > ElementLinkVector< DOBJ >::m_elVec
private

Transient vector of element links.

Definition at line 181 of file A/AthLinks/ElementLinkVector.h.

◆ m_hostDObjs

template<typename DOBJ>
DataLinkVector ElementLinkVector< DOBJ >::m_hostDObjs
private

the dobjs hosting our elements. They are all of type DOBJ

Definition at line 95 of file AthLinks/ElementLinkVector.h.

◆ m_isDirectIO

bool ElementLinkVectorBase::m_isDirectIO
protectedinherited

A transient variable signaling when direct I/O is happening.

A transient variable signalling when direct I/O is happening.

This flag is used exclusively by the ElementLinkVector<>::toTransient() function to know when it should take the persistent data stored in this object into account. That function is called in normal P->T conversions as well, in which case using the data from this class would just reset the object to its default state.

Definition at line 66 of file AthLinks/ElementLinkVectorBase.h.

◆ m_persIndices

std::vector< uint32_t > ElementLinkVectorBase::m_persIndices
protectedinherited

Indices of the referenced objects in the containers.

Definition at line 56 of file AthLinks/ElementLinkVectorBase.h.

◆ m_persKeys

std::vector< uint32_t > ElementLinkVectorBase::m_persKeys
protectedinherited

Keys/identifiers of the referenced containers.

Definition at line 54 of file AthLinks/ElementLinkVectorBase.h.

◆ m_shortRefs

template<typename DOBJ>
RefVector ElementLinkVector< DOBJ >::m_shortRefs
private

Definition at line 92 of file AthLinks/ElementLinkVector.h.


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