5#ifndef ATHLINKS_ELEMENTLINKVECTOR_H
6#define ATHLINKS_ELEMENTLINKVECTOR_H
10#include <RootMetaSelection.h>
13#include "AthLinks/ElementLink.h"
14#include "AthLinks/ElementLinkVectorBase.h"
18 template<
class CONTAINER >
33template<
class CONTAINER >
52 typedef typename std::vector< ElemLink >::iterator
iterator;
58 typedef typename std::vector< ElemLink >::const_reverse_iterator
61 typedef typename std::vector< ElemLink >::size_type
size_type;
159 template<
class InputIterator >
160 void assign( InputIterator first, InputIterator last );
193namespace ROOT {
namespace Meta {
namespace Selection {
194template<
class CONTAINER >
203 ROOT::Meta::Selection::MemberAttributes< kTransient >
m_elVec;
210# include "AthLinks/ElementLinkVector.icc"
std::vector< size_t > vec
Base class holding the container independent part of ElementLinkVector.
ElementLinkVector implementation for standalone ROOT.
const_iterator begin() const
Get a constant iterator pointing at the first element.
void clear()
Clear the object.
const_iterator end() const
Get a constant iterator pointing at the end of the container.
ElementLink< asso_container_type > ElemLink
ELVIterator< typename RefVector::reverse_iterator > reverse_iterator
virtual bool toTransient()
Reset the object's internal cache.
ElementLinkVector(const ElemLinkVec &parent)
Copy constructor.
void insert(iterator position, size_type n, const ElemLink &link)
Insert a number of identical links in a certain position.
size_type max_size() const
Get the maximal size of the object.
iterator erase(iterator position)
Erase one element from the vector.
bool operator==(const ElementLinkVector &rhs) const
Comparison operator.
const_reference operator[](size_type n) const
Get the element at a given index.
void resize(size_type sz, const ElemLink &link=ElemLink())
Resize the vector to the specified size.
RefVector::size_type size_type
void push_back(const ElemLink &el)
Add a new element link at the end of the vector.
reverse_iterator rbegin()
Get a reverse iterator pointing at the last element.
const_reference front() const
Get the first element.
const_reverse_iterator rend() const
Get a constant reverse iterator pointing at the beginning of the container.
iterator insert(iterator position, const ElemLink &link)
Insert a link in a certain position.
ElementLinkVector(size_type n, const ElemLink &link=ElemLink())
Constructor creating a vector of a given size.
const_reference at(size_type n) const
Get the element at a given index (with size check)
ElemLinkVec & operator=(const ElemLinkVec &rhs)
Assignment operator.
size_type size() const
Get the size of the vector.
ELVIterator< typename RefVector::iterator > iterator
reverse_iterator rend()
Get a reverse iterator pointing at the beginning of the container.
bool empty() const
Function checking if the vector is empty.
void assign(size_type n, const ElemLink &link)
Fill the vector with N identical links.
std::vector< ElemLink > m_elVec
const_reverse_iterator rbegin() const
Get a constant reverse iterator pointing at the last element.
bool toPersistent()
Function copying the transient data into the persistent variables.
size_type capacity() const
Get the capacity of the currently allocated object.
ROOT::Meta::Selection::ElementLinkVector< asso_container_type >::self DictSel
void pop_back()
Remove the last element from the vector.
iterator begin()
Get an iterator pointing at the first element.
iterator end()
Get an iterator pointing at the end of the container.
void swap(ElemLinkVec &vec)
Swap the container's contents with another object's.
void reserve(size_type sz)
Reserve some slots in the vector.
ElementLinkVector()
Default constructor.
ElementLinkVector< asso_container_type > ElemLinkVec
bool operator!=(const ElementLinkVector &rhs) const
Comparison operator.
iterator erase(iterator first, iterator last)
Erase a set of elements from the vector.
ELVIterator< typename RefVector::const_iterator > const_iterator
ELVIterator< typename RefVector::const_reverse_iterator > const_reverse_iterator
const_reference back() const
Get the last element.
void assign(InputIterator first, InputIterator last)
Fill the vector with the contents of another container.
Selection rules: declare transient members.