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  ELVIterator
class  Short2LongRef
 a functor turning an ElemLinkRef into an ElementLink More...

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 64 of file AthLinks/ElementLinkVector.h.

Member Typedef Documentation

◆ allocator_type

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

Definition at line 135 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 129 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 137 of file AthLinks/ElementLinkVector.h.

◆ const_reference [1/2]

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

Definition at line 127 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 139 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 72 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 418 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 133 of file AthLinks/ElementLinkVector.h.

◆ ElementConstPointer

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

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

◆ ElemLink [1/2]

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

Definition at line 73 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 68 of file AthLinks/ElementLinkVector.h.

◆ ElemLinkVec [1/2]

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

Definition at line 67 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 101 of file AthLinks/ElementLinkVector.h.

◆ index_type

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

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

◆ iterator [1/2]

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

Definition at line 128 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 136 of file AthLinks/ElementLinkVector.h.

◆ reference [1/2]

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

Definition at line 125 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 92 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 138 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 102 of file AthLinks/ElementLinkVector.h.

◆ size_type [1/2]

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

Definition at line 132 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 134 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 423 of file AthLinks/ElementLinkVector.h.

424}
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 195 of file AthLinks/ElementLinkVector.h.

195 :
197 {
198 if (n > 0)
200 }
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 202 of file AthLinks/ElementLinkVector.h.

202 :
204 {
205 if (n > 0)
207 }

◆ ElementLinkVector() [4/11]

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

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

209 :
211 {
212 if (n > 0)
214 }

◆ ElementLinkVector() [5/11]

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

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

◆ ElementLinkVector() [6/11]

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

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

219 :
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 251 of file AthLinks/ElementLinkVector.h.

251 {
252 clear();
253 insert(begin(), first, last);
254 }
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 255 of file AthLinks/ElementLinkVector.h.

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

◆ 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 309 of file AthLinks/ElementLinkVector.h.

309{ 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 313 of file AthLinks/ElementLinkVector.h.

313{ 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 274 of file AthLinks/ElementLinkVector.h.

274{ 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 275 of file AthLinks/ElementLinkVector.h.

275 {
276 return const_iterator(m_shortRefs.begin(), Short2LongRef());
277 }
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 166 of file AthLinks/ElementLinkVector.h.

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

◆ beginHostDObjs() [2/2]

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

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

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

◆ capacity() [1/2]

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

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

297{ 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 343 of file AthLinks/ElementLinkVector.h.

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

◆ 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 149 of file AthLinks/ElementLinkVector.h.

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

◆ 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 157 of file AthLinks/ElementLinkVector.h.

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

◆ 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 153 of file AthLinks/ElementLinkVector.h.

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

◆ empty() [1/2]

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

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

298{ 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 278 of file AthLinks/ElementLinkVector.h.

278{ 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 279 of file AthLinks/ElementLinkVector.h.

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

◆ 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 169 of file AthLinks/ElementLinkVector.h.

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

◆ endHostDObjs() [2/2]

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

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

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

◆ 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 311 of file AthLinks/ElementLinkVector.h.

311{ 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 165 of file AthLinks/ElementLinkVector.h.

165{ 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 295 of file AthLinks/ElementLinkVector.h.

295{ 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 228 of file AthLinks/ElementLinkVector.h.

229 {
230 if (this != &vec) {
235 }
236 return *this;
237 }
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 239 of file AthLinks/ElementLinkVector.h.

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

◆ 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 306 of file AthLinks/ElementLinkVector.h.

306{ 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 322 of file AthLinks/ElementLinkVector.h.

322 { //FIXME CHECK
324 m_shortRefs.pop_back();
325 }
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 318 of file AthLinks/ElementLinkVector.h.

318 {
320 m_shortRefs.push_back(ElemLinkRef(link));
321 }

◆ 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 282 of file AthLinks/ElementLinkVector.h.

282{ 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 283 of file AthLinks/ElementLinkVector.h.

283 {
285 }
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 358 of file AthLinks/ElementLinkVector.h.

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

◆ rend() [1/4]

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

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

286{ 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 287 of file AthLinks/ElementLinkVector.h.

287 {
289 }

◆ 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 299 of file AthLinks/ElementLinkVector.h.

299{ 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 377 of file AthLinks/ElementLinkVector.h.

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

◆ 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 391 of file AthLinks/ElementLinkVector.h.

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

◆ size() [1/2]

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

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

294{ 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 338 of file AthLinks/ElementLinkVector.h.

338 {
341 }

◆ 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 456 of file AthLinks/ElementLinkVector.h.

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

◆ operator==

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

access m_shortRefs

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

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

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 96 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 93 of file AthLinks/ElementLinkVector.h.


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