An iterator that performs three dereferences in operator*().
More...
#include <IndirectIterator.h>
Public Types | |
| typedef Base::Iterator | Iterator |
| The base iterator type. | |
| typedef Base::iterator_category | iterator_category |
| The iterator category. | |
| typedef Base::value_type | value_type |
| The type "pointed to" by the iterator. | |
| typedef Base::difference_type | difference_type |
| Distance between iterators is represented as this type. | |
| typedef Base::pointer | pointer |
| This type represents a pointer-to-value_type. | |
| typedef Base::reference | reference |
| This type represents a reference-to-value_type. | |
Public Member Functions | |
Constructors etc. | |
| IndirectIterator2 () | |
| Default constructor. | |
| IndirectIterator2 (const IndirectIterator2 &x) | |
| Copy constructor. | |
| IndirectIterator2 & | operator= (const IndirectIterator2 &other) |
| Assignment operator. | |
| IndirectIterator2 (const Iterator &i) | |
| Construct from an iterator. | |
| IndirectIterator2 & | operator= (const Iterator &other) |
| Assignment from an iterator. | |
Accessors. | |
| const Iterator & | base () const |
| Return the base iterator. | |
Iterator Functionality. | |
| reference | operator* () const |
| Triple dereference of the base iterator. | |
| pointer | operator-> () const |
| Double dereference of the base iterator. | |
| IndirectIterator2 & | operator++ () |
| Pre-increment. | |
| IndirectIterator2 | operator++ (int) |
| Post-increment. Warning: This is not as efficient as the pre-increment. | |
| IndirectIterator2 & | operator-- () |
| Pre-decrement. | |
| IndirectIterator2 | operator-- (int) |
| Post-decrement. Warning: This is not as efficient as the pre-decrement. | |
| value_type | operator[] (const difference_type &n) const |
| Sub-scripting. | |
| IndirectIterator2 & | operator+= (const difference_type &n) |
| Addition assignment. | |
| IndirectIterator2 | operator+ (const difference_type &n) const |
| Addition. | |
| IndirectIterator2 & | operator-= (const difference_type &n) |
| Subtraction assignment. | |
| IndirectIterator2 | operator- (const difference_type &n) const |
| Subtraction. | |
Related Functions | |
(Note that these are not member functions.) | |
| template<typename _Iterator > | |
| IndirectIterator2< _Iterator > | operator+ (typename IndirectIterator2< _Iterator >::difference_type n, const IndirectIterator2< _Iterator > &x) |
| Offset from an iterator. | |
| template<typename _Iterator > | |
| IndirectIterator2< _Iterator > | constructIndirectIterator2 () |
| Convenience function for instantiating a IndirectIterator2. | |
| template<typename _Iterator > | |
| IndirectIterator2< _Iterator > | constructIndirectIterator2 (const _Iterator &i) |
| Convenience function for instantiating a IndirectIterator2. | |
An iterator that performs three dereferences in operator*().
This is a triple-dereferencing iterator. This is useful when you have an array of pointers to pointers to widgets that you would like to treat as an array of widgets.
1.6.3