#include <yat/utility/StrideIterator.h>
Public Types | |
typedef RandomAccessIterator | iterator_type |
type of underlying iterator | |
Public Member Functions | |
StrideIterator (size_t stride=1) | |
default constructor | |
StrideIterator (RandomAccessIterator p, size_t stride=1) | |
Constructor. | |
StrideIterator (const StrideIterator &other) | |
Copy constructor. | |
template<typename I2 > | |
StrideIterator (StrideIterator< I2 > other, typename boost::enable_if_convertible< I2, RandomAccessIterator >::type *=0) | |
Conversion constructor. | |
StrideIterator & | operator= (const StrideIterator &rhs) |
Assignment operator. | |
size_t | stride (void) const |
Friends | |
class | boost::iterator_core_access |
Works as underlying iterator except that all arithmetic uses the stride, so e.g., ++StrideIterator returns underlying _iterator+stride
The stride must be positive. Negative stride can be accomplished by combining StrideIterator with a reverse_iterator (from e.g. std or boost).
theplu::yat::utility::StrideIterator< RandomAccessIterator >::StrideIterator | ( | size_t | stride = 1 |
) | [inline, explicit] |
default constructor
Using default constructor of BASE iterator.
theplu::yat::utility::StrideIterator< RandomAccessIterator >::StrideIterator | ( | StrideIterator< I2 > | other, | |
typename boost::enable_if_convertible< I2, RandomAccessIterator >::type * | = 0 | |||
) | [inline] |
Conversion constructor.
Create a StrideIterator<RandomAccessIterator> from a StrideIterator<I2>. Possible if I2 is convertible to a RandomAccessIterator. Constructor allows implicit conversions such as iterator to const_iterator.
size_t theplu::yat::utility::StrideIterator< RandomAccessIterator >::stride | ( | void | ) | const [inline] |