ATLAS Offline Software
|
ElementLinkVector implementation for standalone ROOT. More...
#include <ElementLinkVector.h>
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. More... | |
typedef ElementLink< CONTAINER > | ElemLink |
Type of the EL that we have a vector of. More... | |
vector typedefs: it behaves like a vector<ElemLink> | |
typedef ElemLink & | reference |
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 ElemLink * | pointer |
typedef const ElemLink * | const_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. More... | |
typedef ElemLink & | reference |
Type of the reference pointing to one element link. More... | |
typedef const ElemLink & | const_reference |
Type of the constant reference pointing to one element link. More... | |
typedef std::vector< ElemLink >::iterator | iterator |
Type of the iterator for traversing the vector. More... | |
typedef std::vector< ElemLink >::const_iterator | const_iterator |
Type of the constant iterator for traversing the vector. More... | |
typedef std::vector< ElemLink >::reverse_iterator | reverse_iterator |
Type of the reverse iterator for traversing the vector. More... | |
typedef std::vector< ElemLink >::const_reverse_iterator | const_reverse_iterator |
Type of the constant reverse iterator for traversing the vector. More... | |
typedef std::vector< ElemLink >::size_type | size_type |
Type of the size of the vector. More... | |
Public Member Functions | |
ElemLinkVec & | operator= (const ElemLinkVec &rhs) |
Assignment operator. More... | |
bool | operator== (const ElementLinkVector &rhs) const |
Comparison operator. More... | |
bool | operator!= (const ElementLinkVector &rhs) const |
Comparison operator. More... | |
virtual bool | toTransient () |
Reset the object's internal cache. More... | |
bool | toPersistent () |
Function copying the transient data into the persistent variables. More... | |
const std::vector< uint32_t > & | persKeys () const |
Get the keys/identifiers of the referenced containers. More... | |
const std::vector< uint32_t > & | persKeys () const |
Get the keys/identifiers of the referenced containers. More... | |
void | setPersKeys (const std::vector< uint32_t > &keys) |
Set the keys/identifiers of the referenced containers. More... | |
void | setPersKeys (const std::vector< uint32_t > &keys) |
Set the keys/identifiers of the referenced containers. More... | |
const std::vector< uint32_t > & | persIndices () const |
Get the indices of the referenced objects in the containers. More... | |
const std::vector< uint32_t > & | persIndices () const |
Get the indices of the referenced objects in the containers. More... | |
void | setPersIndices (const std::vector< uint32_t > &indices) |
Set the indices of the referenced objects in the containers. More... | |
void | setPersIndices (const std::vector< uint32_t > &indices) |
Set the indices of the referenced objects in the containers. More... | |
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) More... | |
index_type | elementIndex (size_type index) const |
host index of an element, given its ElementLinkVector index. O(1) More... | |
ID_type | elementDataID (size_type index) const |
dataID (long ref) of an element, given its ElementLinkVector index. O(1) More... | |
iterators to DataLinkVector of host dobjs. Use e.g. for persistency | |
const DataLinkVector & | hostDObjs () 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 More... | |
DataLinkVector::iterator | findHostDObj (const ElemLink &link) |
find the host of an element. Returns endHostDObjs() if not found More... | |
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 | |
ElementLinkVector & | operator= (const ElemLinkVec &vec) |
ElementLinkVector & | operator= (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. More... | |
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. More... | |
ElementLinkVector (size_type n, const ElemLink &link=ElemLink()) | |
Constructor creating a vector of a given size. More... | |
ElementLinkVector (const ElemLinkVec &parent) | |
Copy constructor. More... | |
Vector iterator functions | |
iterator | begin () |
Get an iterator pointing at the first element. More... | |
const_iterator | begin () const |
Get a constant iterator pointing at the first element. More... | |
iterator | end () |
Get an iterator pointing at the end of the container. More... | |
const_iterator | end () const |
Get a constant iterator pointing at the end of the container. More... | |
reverse_iterator | rbegin () |
Get a reverse iterator pointing at the last element. More... | |
const_reverse_iterator | rbegin () const |
Get a constant reverse iterator pointing at the last element. More... | |
reverse_iterator | rend () |
Get a reverse iterator pointing at the beginning of the container. More... | |
const_reverse_iterator | rend () const |
Get a constant reverse iterator pointing at the beginning of the container. More... | |
Vector capacity functions | |
size_type | size () const |
Get the size of the vector. More... | |
size_type | max_size () const |
Get the maximal size of the object. More... | |
size_type | capacity () const |
Get the capacity of the currently allocated object. More... | |
void | resize (size_type sz, const ElemLink &link=ElemLink()) |
Resize the vector to the specified size. More... | |
void | reserve (size_type sz) |
Reserve some slots in the vector. More... | |
bool | empty () const |
Function checking if the vector is empty. More... | |
Vector element accessors | |
const_reference | operator[] (size_type n) const |
Get the element at a given index. More... | |
const_reference | at (size_type n) const |
Get the element at a given index (with size check) More... | |
const_reference | front () const |
Get the first element. More... | |
const_reference | back () const |
Get the last element. More... | |
Protected Attributes | |
std::vector< uint32_t > | m_persKeys |
Keys/identifiers of the referenced containers. More... | |
std::vector< uint32_t > | m_persIndices |
Indices of the referenced objects in the containers. More... | |
bool | m_isDirectIO |
A transient variable signaling when direct I/O is happening. More... | |
Private Types | |
typedef ElementLinkVector< DOBJ > | ElemLinkVec |
typedef SG::ELVRef< DOBJ > | ElemLinkRef |
typedef std::vector< ElemLinkRef > | RefVector |
the element links stored as ElemLinkRefs for compactness More... | |
typedef ROOT::Meta::Selection::ElementLinkVector< CONTAINER >::self | DictSel |
Needed to take the Reflex/Cling specifications into account. More... | |
Private Attributes | |
RefVector | m_shortRefs |
DataLinkVector | m_hostDObjs |
the dobjs hosting our elements. They are all of type DOBJ More... | |
std::vector< ElemLink > | m_elVec |
Transient vector of element links. More... | |
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. More... | |
void | pop_back () |
Remove the last element from the vector. More... | |
iterator | erase (iterator position) |
Erase one element from the vector. More... | |
iterator | erase (iterator first, iterator last) |
Erase a set of elements from the vector. More... | |
void | swap (ElemLinkVec &vec) |
Swap the container's contents with another object's. More... | |
template<class InputIterator > | |
void | assign (InputIterator first, InputIterator last) |
Fill the vector with the contents of another container. More... | |
void | assign (size_type n, const ElemLink &link) |
Fill the vector with N identical links. More... | |
iterator | insert (iterator position, const ElemLink &link) |
Insert a link in a certain position. More... | |
void | insert (iterator position, size_type n, const ElemLink &link) |
Insert a number of identical links in a certain position. More... | |
void | clear () |
Clear the object. More... | |
void | toTransient (uint64_t &dummy) |
Function setting up the object for forward indexing types. More... | |
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) More... | |
void | removeHostObj (const ElemLink &) |
remove host of link from list. O(N) in m_hostDObjs (which is small) More... | |
void | addHostDObj (const ElemLink &link) |
add host of link to list. No duplicates. O(N) in m_hostDObjs More... | |
RefVector::const_iterator | shortIterFromLong (const_iterator longIter) const |
get a short ref iterator from an iterator More... | |
RefVector::iterator | shortIterFromLong (iterator longIter) |
get a short ref iterator from an iterator More... | |
FIXME don't know how to implement | |
typedef ROOT::Meta::Selection::ElementLinkVector< DOBJ >::self | DictSel |
Needed for the simplified Reflex class name. More... | |
template<class InputIterator > | |
ElementLinkVector (InputIterator first, InputIterator last) | |
template<class InputIterator > | |
void | insert (iterator position, InputIterator first, InputIterator last) |
bool | operator== (const ElemLinkVec &, const ElemLinkVec &) |
access m_shortRefs More... | |
bool | operator< (const ElemLinkVec &, const ElemLinkVec &) |
access m_shortRefs More... | |
ElementLinkVector implementation for standalone ROOT.
a vector of "compact" element links. 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"
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.
DOBJ | host object type (e,g. vector<Elem>, NOT Elem), All host data objects must have the same type. xxx |
IndexingPolicy | policy 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) |
Definition at line 64 of file AthLinks/ElementLinkVector.h.
typedef RefVector::allocator_type ElementLinkVector< DOBJ >::allocator_type |
Definition at line 135 of file AthLinks/ElementLinkVector.h.
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.
typedef ELVIterator<typename RefVector::const_iterator> ElementLinkVector< DOBJ >::const_iterator |
Definition at line 129 of file AthLinks/ElementLinkVector.h.
typedef const ElemLink* ElementLinkVector< DOBJ >::const_pointer |
Definition at line 137 of file AthLinks/ElementLinkVector.h.
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.
typedef ElemLink ElementLinkVector< DOBJ >::const_reference |
Definition at line 127 of file AthLinks/ElementLinkVector.h.
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.
typedef ELVIterator<typename RefVector::const_reverse_iterator> ElementLinkVector< DOBJ >::const_reverse_iterator |
Definition at line 139 of file AthLinks/ElementLinkVector.h.
typedef std::vector< DataLink<DOBJ> > ElementLinkVector< DOBJ >::DataLinkVector |
Definition at line 72 of file AthLinks/ElementLinkVector.h.
|
private |
Needed to take the Reflex/Cling specifications into account.
Definition at line 185 of file A/AthLinks/ElementLinkVector.h.
|
private |
Needed for the simplified Reflex class name.
Definition at line 418 of file AthLinks/ElementLinkVector.h.
typedef RefVector::difference_type ElementLinkVector< DOBJ >::difference_type |
Definition at line 133 of file AthLinks/ElementLinkVector.h.
typedef ElemLink::ElementConstPointer ElementLinkVector< DOBJ >::ElementConstPointer |
Definition at line 99 of file AthLinks/ElementLinkVector.h.
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.
typedef ElementLink<DOBJ> ElementLinkVector< DOBJ >::ElemLink |
Definition at line 73 of file AthLinks/ElementLinkVector.h.
|
private |
Definition at line 68 of file AthLinks/ElementLinkVector.h.
typedef ElementLinkVector< CONTAINER > ElementLinkVector< DOBJ >::ElemLinkVec |
Definition of the current type.
Definition at line 38 of file A/AthLinks/ElementLinkVector.h.
|
private |
Definition at line 67 of file AthLinks/ElementLinkVector.h.
typedef ElemLink::ID_type ElementLinkVector< DOBJ >::ID_type |
Definition at line 101 of file AthLinks/ElementLinkVector.h.
typedef ElemLink::index_type ElementLinkVector< DOBJ >::index_type |
Definition at line 100 of file AthLinks/ElementLinkVector.h.
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.
typedef ELVIterator<typename RefVector::iterator> ElementLinkVector< DOBJ >::iterator |
Definition at line 128 of file AthLinks/ElementLinkVector.h.
typedef ElemLink* ElementLinkVector< DOBJ >::pointer |
Definition at line 136 of file AthLinks/ElementLinkVector.h.
typedef ElemLink& ElementLinkVector< DOBJ >::reference |
Type of the reference pointing to one element link.
Definition at line 48 of file A/AthLinks/ElementLinkVector.h.
typedef ElemLink& ElementLinkVector< DOBJ >::reference |
Definition at line 125 of file AthLinks/ElementLinkVector.h.
|
private |
the element links stored as ElemLinkRefs for compactness
Definition at line 92 of file AthLinks/ElementLinkVector.h.
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.
typedef ELVIterator<typename RefVector::reverse_iterator> ElementLinkVector< DOBJ >::reverse_iterator |
Definition at line 138 of file AthLinks/ElementLinkVector.h.
typedef ElemLink::sgkey_t ElementLinkVector< DOBJ >::sgkey_t |
Definition at line 102 of file AthLinks/ElementLinkVector.h.
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.
typedef RefVector::size_type ElementLinkVector< DOBJ >::size_type |
Definition at line 132 of file AthLinks/ElementLinkVector.h.
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.
typedef ElemLink ElementLinkVector< DOBJ >::value_type |
Definition at line 134 of file AthLinks/ElementLinkVector.h.
ElementLinkVector< DOBJ >::ElementLinkVector |
Definition at line 423 of file AthLinks/ElementLinkVector.h.
|
inline |
Definition at line 195 of file AthLinks/ElementLinkVector.h.
|
inline |
Definition at line 202 of file AthLinks/ElementLinkVector.h.
|
inline |
Definition at line 209 of file AthLinks/ElementLinkVector.h.
|
inlineexplicit |
Definition at line 216 of file AthLinks/ElementLinkVector.h.
|
inline |
Definition at line 219 of file AthLinks/ElementLinkVector.h.
|
inlinenoexcept |
Definition at line 223 of file AthLinks/ElementLinkVector.h.
|
private |
ElementLinkVector< DOBJ >::ElementLinkVector | ( | ) |
Default constructor.
ElementLinkVector< DOBJ >::ElementLinkVector | ( | size_type | n, |
const ElemLink & | link = ElemLink() |
||
) |
Constructor creating a vector of a given size.
ElementLinkVector< DOBJ >::ElementLinkVector | ( | const ElemLinkVec & | parent | ) |
Copy constructor.
|
private |
add host of link to list. No duplicates. O(N) in m_hostDObjs
void ElementLinkVector< DOBJ >::assign | ( | InputIterator | first, |
InputIterator | last | ||
) |
Fill the vector with the contents of another container.
|
inline |
void ElementLinkVector< DOBJ >::assign | ( | size_type | n, |
const ElemLink & | link | ||
) |
Fill the vector with N identical links.
|
inline |
|
inline |
Get the element at a given index (with size check)
Definition at line 134 of file A/AthLinks/ElementLinkVector.h.
|
inline |
Definition at line 309 of file AthLinks/ElementLinkVector.h.
|
inline |
|
inline |
Definition at line 313 of file AthLinks/ElementLinkVector.h.
|
inline |
Get an iterator pointing at the first element.
Definition at line 89 of file A/AthLinks/ElementLinkVector.h.
|
inline |
Definition at line 274 of file AthLinks/ElementLinkVector.h.
|
inline |
Get a constant iterator pointing at the first element.
Definition at line 91 of file A/AthLinks/ElementLinkVector.h.
|
inline |
Definition at line 275 of file AthLinks/ElementLinkVector.h.
|
inline |
Definition at line 166 of file AthLinks/ElementLinkVector.h.
|
inline |
Definition at line 172 of file AthLinks/ElementLinkVector.h.
|
inline |
Get the capacity of the currently allocated object.
Definition at line 118 of file A/AthLinks/ElementLinkVector.h.
|
inline |
Definition at line 297 of file AthLinks/ElementLinkVector.h.
void ElementLinkVector< DOBJ >::clear | ( | ) |
Clear the object.
|
inline |
Definition at line 343 of file AthLinks/ElementLinkVector.h.
void ElementLinkVector< DOBJ >::doRemap | ( | ) |
|
inline |
pointer to an element, given its ElementLinkVector index. O(1)
Definition at line 149 of file AthLinks/ElementLinkVector.h.
|
inline |
dataID (long ref) of an element, given its ElementLinkVector index. O(1)
Definition at line 157 of file AthLinks/ElementLinkVector.h.
|
inline |
host index of an element, given its ElementLinkVector index. O(1)
Definition at line 153 of file AthLinks/ElementLinkVector.h.
|
inline |
Function checking if the vector is empty.
Definition at line 124 of file A/AthLinks/ElementLinkVector.h.
|
inline |
Definition at line 298 of file AthLinks/ElementLinkVector.h.
|
inline |
Get an iterator pointing at the end of the container.
Definition at line 94 of file A/AthLinks/ElementLinkVector.h.
|
inline |
Definition at line 278 of file AthLinks/ElementLinkVector.h.
|
inline |
Get a constant iterator pointing at the end of the container.
Definition at line 96 of file A/AthLinks/ElementLinkVector.h.
|
inline |
Definition at line 279 of file AthLinks/ElementLinkVector.h.
|
inline |
Definition at line 169 of file AthLinks/ElementLinkVector.h.
|
inline |
Definition at line 175 of file AthLinks/ElementLinkVector.h.
iterator ElementLinkVector< DOBJ >::erase | ( | iterator | first, |
iterator | last | ||
) |
Erase a set of elements from the vector.
iterator ElementLinkVector< DOBJ >::erase | ( | iterator | first, |
iterator | last | ||
) |
iterator ElementLinkVector< DOBJ >::erase | ( | iterator | position | ) |
Erase one element from the vector.
iterator ElementLinkVector< DOBJ >::erase | ( | iterator | position | ) |
DataLinkVector::iterator ElementLinkVector< DOBJ >::findHostDObj | ( | const ElemLink & | link | ) |
find the host of an element. Returns endHostDObjs() if not found
DataLinkVector::const_iterator ElementLinkVector< DOBJ >::findHostDObj | ( | const ElemLink & | link | ) | const |
find the host of an element. Returns endHostDObjs() if not found
|
inline |
|
inline |
Definition at line 311 of file AthLinks/ElementLinkVector.h.
|
inline |
Definition at line 165 of file AthLinks/ElementLinkVector.h.
iterator ElementLinkVector< DOBJ >::insert | ( | iterator | position, |
const ElemLink & | link | ||
) |
Insert a link in a certain position.
iterator ElementLinkVector< DOBJ >::insert | ( | iterator | position, |
const ElemLink & | link | ||
) |
|
private |
void ElementLinkVector< DOBJ >::insert | ( | iterator | position, |
size_type | n, | ||
const ElemLink & | link | ||
) |
Insert a number of identical links in a certain position.
void ElementLinkVector< DOBJ >::insert | ( | iterator | position, |
size_type | n, | ||
const ElemLink & | link | ||
) |
|
inline |
|
inline |
Definition at line 295 of file AthLinks/ElementLinkVector.h.
void ElementLinkVector< DOBJ >::moveHostDObjs | ( | DataLinkVector & | dobjs | ) |
bool ElementLinkVector< DOBJ >::operator!= | ( | const ElementLinkVector< DOBJ > & | rhs | ) | const |
Comparison operator.
ElemLinkVec& ElementLinkVector< DOBJ >::operator= | ( | const ElemLinkVec & | rhs | ) |
Assignment operator.
|
inline |
Definition at line 228 of file AthLinks/ElementLinkVector.h.
|
inlinenoexcept |
Definition at line 239 of file AthLinks/ElementLinkVector.h.
bool ElementLinkVector< DOBJ >::operator== | ( | const ElementLinkVector< DOBJ > & | rhs | ) | const |
Comparison operator.
|
inline |
Get the element at a given index.
Definition at line 132 of file A/AthLinks/ElementLinkVector.h.
|
inline |
Definition at line 306 of file AthLinks/ElementLinkVector.h.
|
inherited |
Get the indices of the referenced objects in the containers.
|
inherited |
Get the indices of the referenced objects in the containers.
Definition at line 29 of file src/ElementLinkVectorBase.cxx.
|
inherited |
Get the keys/identifiers of the referenced containers.
|
inherited |
Get the keys/identifiers of the referenced containers.
Definition at line 17 of file src/ElementLinkVectorBase.cxx.
void ElementLinkVector< DOBJ >::pop_back | ( | ) |
Remove the last element from the vector.
|
inline |
Definition at line 322 of file AthLinks/ElementLinkVector.h.
void ElementLinkVector< DOBJ >::push_back | ( | const ElemLink & | el | ) |
Add a new element link at the end of the vector.
|
inline |
Definition at line 318 of file AthLinks/ElementLinkVector.h.
void ElementLinkVector< DOBJ >::push_back | ( | typename DataLinkVector::size_type | nameIndex, |
typename ElemLinkRef::index_type | elementIndex | ||
) |
|
inline |
Get a reverse iterator pointing at the last element.
Definition at line 99 of file A/AthLinks/ElementLinkVector.h.
|
inline |
Definition at line 282 of file AthLinks/ElementLinkVector.h.
|
inline |
Get a constant reverse iterator pointing at the last element.
Definition at line 101 of file A/AthLinks/ElementLinkVector.h.
|
inline |
Definition at line 283 of file AthLinks/ElementLinkVector.h.
|
inlineprivate |
remove host of link from list. O(N) in m_hostDObjs (which is small)
Definition at line 358 of file AthLinks/ElementLinkVector.h.
|
inline |
Get a reverse iterator pointing at the beginning of the container.
Definition at line 104 of file A/AthLinks/ElementLinkVector.h.
|
inline |
Definition at line 286 of file AthLinks/ElementLinkVector.h.
|
inline |
Get a constant reverse iterator pointing at the beginning of the container.
Definition at line 106 of file A/AthLinks/ElementLinkVector.h.
|
inline |
Definition at line 287 of file AthLinks/ElementLinkVector.h.
|
inline |
Definition at line 299 of file AthLinks/ElementLinkVector.h.
|
inline |
Reserve some slots in the vector.
Definition at line 122 of file A/AthLinks/ElementLinkVector.h.
void ElementLinkVector< DOBJ >::resize | ( | size_type | sz, |
const ElemLink & | link = ElemLink() |
||
) |
Resize the vector to the specified size.
void ElementLinkVector< DOBJ >::resize | ( | size_type | sz, |
const ElemLink & | link = ElemLink() |
||
) |
|
inherited |
Set the indices of the referenced objects in the containers.
|
inherited |
Set the indices of the referenced objects in the containers.
Definition at line 35 of file src/ElementLinkVectorBase.cxx.
|
inherited |
Set the keys/identifiers of the referenced containers.
|
inherited |
Set the keys/identifiers of the referenced containers.
Definition at line 23 of file src/ElementLinkVectorBase.cxx.
|
inlineprivate |
get a short ref iterator from an iterator
Definition at line 377 of file AthLinks/ElementLinkVector.h.
|
inlineprivate |
get a short ref iterator from an iterator
Definition at line 391 of file AthLinks/ElementLinkVector.h.
|
inline |
|
inline |
Definition at line 294 of file AthLinks/ElementLinkVector.h.
void ElementLinkVector< DOBJ >::swap | ( | ElemLinkVec & | vec | ) |
Swap the container's contents with another object's.
|
inline |
Definition at line 338 of file AthLinks/ElementLinkVector.h.
bool ElementLinkVector< DOBJ >::toPersistent | ( | ) |
Function copying the transient data into the persistent variables.
bool ElementLinkVector< DOBJ >::toPersistent | ( | ) |
bool ElementLinkVector< DOBJ >::toPersistent | ( | std::vector< typename DataLinkVector::size_type > & | shortrefs | ) |
bool ElementLinkVector< DOBJ >::toPersistentDL | ( | ) |
|
virtual |
Reset the object's internal cache.
Implements ElementLinkVectorBase.
|
virtual |
Reset the object's internal cache.
Implements ElementLinkVectorBase.
|
private |
Function taking care of all the other indexing types (no direct ROOT I/O)
|
private |
|
private |
Function setting up the object for forward indexing types.
|
friend |
access m_shortRefs
Definition at line 456 of file AthLinks/ElementLinkVector.h.
|
friend |
access m_shortRefs
Definition at line 469 of file AthLinks/ElementLinkVector.h.
|
private |
Transient vector of element links.
Definition at line 181 of file A/AthLinks/ElementLinkVector.h.
|
private |
the dobjs hosting our elements. They are all of type DOBJ
Definition at line 96 of file AthLinks/ElementLinkVector.h.
|
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.
|
protectedinherited |
Indices of the referenced objects in the containers.
Definition at line 56 of file AthLinks/ElementLinkVectorBase.h.
|
protectedinherited |
Keys/identifiers of the referenced containers.
Definition at line 54 of file AthLinks/ElementLinkVectorBase.h.
|
private |
Definition at line 93 of file AthLinks/ElementLinkVector.h.