|
ATLAS Offline Software
|
Go to the documentation of this file.
14 #ifndef ATHCONTAINERS_TOOLS_DVLITERATOR_H
15 #define ATHCONTAINERS_TOOLS_DVLITERATOR_H
22 #include <boost/iterator/iterator_adaptor.hpp>
23 #include <boost/version.hpp>
28 #if BOOST_VERSION < 105000
43 template <
class T,
class U>
44 struct operator_arrow_result<
T*,
88 typedef typename DVL::BaseContainer::const_iterator::difference_type
difference_type;
144 typename BaseContainer::const_iterator
m_it;
172 :
public boost::iterator_adaptor<iterator<DVL>,
173 typename DVL::BaseContainer::iterator,
174 typename DVL::value_type,
181 typename DVL::BaseContainer::
182 const_iterator::iterator_category,
183 typename DVL::ElementProxy>
187 typedef boost::iterator_adaptor<
iterator,
189 typename DVL::value_type,
191 typename DVL::BaseContainer::
192 const_iterator::iterator_category,
311 typename iterator_adaptor_::difference_type
313 {
return this->
base() - i.base(); }
319 typename iterator_adaptor_::difference_type
357 return i1 ==
typename DVL::const_iterator (i2);
364 return i1 !=
typename DVL::const_iterator (i2);
371 return i1 <
typename DVL::const_iterator (i2);
378 return i1 >
typename DVL::const_iterator (i2);
385 return i1 <=
typename DVL::const_iterator (i2);
392 return i1 >=
typename DVL::const_iterator (i2);
398 typename DVL::const_iterator::difference_type
402 return i1 -
typename DVL::const_iterator (i2);
406 #endif // not ATHCONTAINERS_TOOLS_DVLITERATOR_H
JetConstituentVector::iterator iterator
const_iterator & operator+=(difference_type n)
Arithmetic.
bool operator>=(const iterator &i) const
DataModel_detail::ElementProxy< U > Reference
bool operator>=(typename DVL::const_iterator i1, DataModel_detail::iterator< DVL > i2)
Const iterator class for DataVector/DataList.
bool operator<=(const iterator &i) const
ElementProxy operator[](int n) const
Element access.
SG::OwnershipPolicy ownPolicy() const
Return the ownership policy of the container from which this iterator was created.
boost::iterator_adaptor< iterator, typename DVL::BaseContainer::iterator, typename DVL::value_type, typename DVL::BaseContainer::const_iterator::iterator_category, typename DVL::ElementProxy > iterator_adaptor_
const DVL::value_type dereference() const
Dereference the iterator.
bool operator<=(typename DVL::const_iterator i1, DataModel_detail::iterator< DVL > i2)
DVL::BaseContainer BaseContainer
const_iterator & operator--()
const_iterator operator-(difference_type n) const
bool operator==(const iterator &i) const
OwnershipPolicy
describes the possible element ownership policies (see e.g. DataVector)
bool operator<(typename DVL::const_iterator i1, DataModel_detail::iterator< DVL > i2)
DVL::const_value_type value_type
Standard iterator typedefs.
bool operator==(const typename DVL::const_iterator &i1, const DataModel_detail::iterator< DVL > &i2)
friend class boost::iterator_core_access
static type make(Reference)
bool operator<=(const const_iterator &other) const
bool operator>(typename DVL::const_iterator i1, DataModel_detail::iterator< DVL > i2)
reference operator*() const
Dereference. Operator-> doesn't make sense here.
(Non-const) Iterator class for DataVector/DataList.
bool operator<(const iterator &i) const
DVL::BaseContainer::const_iterator::iterator_category iterator_category
bool operator!=(const iterator &i) const
bool operator!=(typename DVL::const_iterator i1, DataModel_detail::iterator< DVL > i2)
const_iterator(typename BaseContainer::const_iterator it)
Constructor.
DVL::BaseContainer BaseContainer
iterator(typename BaseContainer::iterator it, DVL *container)
Constructor.
bool operator>=(const const_iterator &other) const
void testInsert(const char *op)
Test if we can insert; raise an exception if not.
const_iterator operator--(int)
bool operator<(const const_iterator &other) const
iterator()
Default constructor.
bool operator>(const const_iterator &other) const
DVL * m_container
The referenced container.
DVL::ElementProxy ElementProxy
const_iterator & operator++()
Increment / decrement.
DVL::pointer operator->()
DVL::const_iterator const_iterator
iterator_adaptor_::difference_type operator-(const iterator &i) const
const_iterator & operator-=(difference_type n)
DVL::BaseContainer::const_iterator::difference_type difference_type
bool operator==(const const_iterator &other) const
Comparisons.
const_iterator()
Default constructor.
BaseContainer::const_iterator m_it
The wrapped iterator.
DVL::const_iterator::difference_type operator-(typename DVL::const_iterator i1, DataModel_detail::iterator< DVL > i2)
const_iterator operator+(difference_type n) const
const_iterator operator++(int)
bool operator>(const iterator &i) const
ElementProxy dereference() const
Dereference the iterator.
Proxy for lvalue access to DataVector/DataList elements.
const DVL * container() const
Return the container holding the referenced element.
dvl_tinfo_map_t *s_dvl_tinfo_map ATLAS_THREAD_SAFE
reference operator[](difference_type n) const
DVL * container()
Return the container holding the referenced element.
Define macros for attributes used to control the static checker.
DataVector< SG::AuxElement > BaseContainer
casting operations for DataVector/DataList.
casting operations for DataVector/DataList.
bool operator!=(const const_iterator &other) const
Proxy for lvalue access to DataVector/DataList elements.