![]() |
ATLAS Offline Software
|
Const iterator class for DataVector/
More...DataList.
#include <DVLIterator.h>
Public Types | |
| typedef DVL::const_value_type | value_type |
| Standard iterator typedefs. | |
| typedef value_type | reference |
| typedef value_type * | pointer |
| typedef DVL::BaseContainer::const_iterator::difference_type | difference_type |
| typedef DVL::BaseContainer::const_iterator::iterator_category | iterator_category |
| typedef DVL | Container |
| typedef DVL::BaseContainer | BaseContainer |
Public Member Functions | |
| const_iterator () | |
| Default constructor. | |
| const_iterator (typename BaseContainer::const_iterator it) | |
| Constructor. | |
| reference | operator* () const |
| Dereference. Operator-> doesn't make sense here. | |
| reference | operator[] (difference_type n) const |
| const_iterator & | operator++ () |
| Increment / decrement. | |
| const_iterator | operator++ (int) |
| const_iterator & | operator-- () |
| const_iterator | operator-- (int) |
| const_iterator & | operator+= (difference_type n) |
| Arithmetic. | |
| const_iterator & | operator-= (difference_type n) |
| const_iterator | operator+ (difference_type n) const |
| const_iterator | operator- (difference_type n) const |
| difference_type | operator- (const_iterator other) const |
| bool | operator== (const const_iterator &other) const |
| Comparisons. | |
| bool | operator!= (const const_iterator &other) const |
| bool | operator< (const const_iterator &other) const |
| bool | operator> (const const_iterator &other) const |
| bool | operator<= (const const_iterator &other) const |
| bool | operator>= (const const_iterator &other) const |
Private Member Functions | |
| const DVL::value_type | dereference () const |
| Dereference the iterator. | |
Private Attributes | |
| BaseContainer::const_iterator | m_it |
| The wrapped iterator. | |
Const iterator class for DataVector/ DataList.
We need to cast dereferences to the appropriate type. This could be done with a boost::transform_iterator, except that the iterator category for that will be one of boost's new-style iterator categories, which don't interoperate well with the standard C++ categories. In particular, the container concept checks didn't work.
This is templated on the specific DataVector/List class.
This used to be done using boost::iterator_adaptor, but that caused problems with root6. So now use just write out the iterator explicitly.
Definition at line 81 of file DVLIterator.h.
| typedef DVL::BaseContainer DataModel_detail::const_iterator< DVL >::BaseContainer |
Definition at line 92 of file DVLIterator.h.
| typedef DVL DataModel_detail::const_iterator< DVL >::Container |
Definition at line 91 of file DVLIterator.h.
| typedef DVL::BaseContainer::const_iterator::difference_type DataModel_detail::const_iterator< DVL >::difference_type |
Definition at line 88 of file DVLIterator.h.
| typedef DVL::BaseContainer::const_iterator::iterator_category DataModel_detail::const_iterator< DVL >::iterator_category |
Definition at line 89 of file DVLIterator.h.
| typedef value_type* DataModel_detail::const_iterator< DVL >::pointer |
Definition at line 87 of file DVLIterator.h.
| typedef value_type DataModel_detail::const_iterator< DVL >::reference |
Definition at line 86 of file DVLIterator.h.
| typedef DVL::const_value_type DataModel_detail::const_iterator< DVL >::value_type |
Standard iterator typedefs.
Definition at line 85 of file DVLIterator.h.
|
inline |
|
inline |
Constructor.
| it | The underlying container iterator. |
Definition at line 105 of file DVLIterator.h.
|
inlineprivate |
Dereference the iterator.
Definition at line 150 of file DVLIterator.h.
|
inline |
Definition at line 135 of file DVLIterator.h.
|
inline |
Dereference. Operator-> doesn't make sense here.
Definition at line 111 of file DVLIterator.h.
|
inline |
Definition at line 128 of file DVLIterator.h.
|
inline |
|
inline |
Definition at line 118 of file DVLIterator.h.
|
inline |
|
inline |
Definition at line 130 of file DVLIterator.h.
|
inline |
Definition at line 129 of file DVLIterator.h.
|
inline |
Definition at line 120 of file DVLIterator.h.
|
inline |
Definition at line 121 of file DVLIterator.h.
|
inline |
Definition at line 127 of file DVLIterator.h.
|
inline |
Definition at line 136 of file DVLIterator.h.
|
inline |
Definition at line 138 of file DVLIterator.h.
|
inline |
|
inline |
Definition at line 137 of file DVLIterator.h.
|
inline |
Definition at line 139 of file DVLIterator.h.
|
inline |
Definition at line 112 of file DVLIterator.h.
|
private |
The wrapped iterator.
Definition at line 144 of file DVLIterator.h.