#include <subiterator.h>
Public Types | |
typedef std::iterator_traits< Iterator >::iterator_category | iterator_category |
typedef std::iterator_traits< Iterator >::value_type | value_type |
typedef std::iterator_traits< Iterator >::difference_type | difference_type |
typedef std::iterator_traits< Iterator >::pointer | pointer |
typedef std::iterator_traits< Iterator >::reference | reference |
Public Methods | |
Subiterator () | |
Subiterator (const Iterator &iter, const difference_type &stride=1) | |
template<class Iterator2> | Subiterator (const Subiterator< Iterator2 > &iter) |
template<class Iterator2> Subiterator & | operator= (const Subiterator< Iterator2 > &sub) |
reference | operator * () const |
Iterator | operator-> () const |
reference | operator[] (difference_type n) const |
Subiterator & | operator++ () |
Subiterator | operator++ (int) |
Subiterator & | operator-- () |
Subiterator | operator-- (int) |
Subiterator | operator+ (difference_type n) const |
Subiterator & | operator+= (difference_type n) |
Subiterator | operator- (difference_type n) const |
difference_type | operator- (const Subiterator &x) const |
Subiterator & | operator-= (difference_type n) |
bool | operator== (const Subiterator &i) const |
bool | operator!= (const Subiterator &i) const |
bool | operator< (const Subiterator &i) const |
bool | operator> (const Subiterator &i) const |
bool | operator<= (const Subiterator &i) const |
bool | operator>= (const Subiterator &i) const |
void | swap (Subiterator &x) |
Protected Attributes | |
Iterator | _iter |
difference_type | _stride |
|
|
|
|
|
|
|
|
|
|
|
|
|
Subiterator p (pp, 3) provides an iterator which initially has the same reference, but for which increments and offsets step by the amount stride rather than 1. Thus p+k is equivalent to pp+(stride*k). Striding iterators are easily positioned beyond the bounds of the underlying container. It is up to the user to dereference the iterator only when it has a valid reference. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|