yat
0.14.5pre
|
Adaptor using a stride on underlying iterator. More...
#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 More... | |
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. More... | |
StrideIterator & | operator= (const StrideIterator &rhs) |
Assignment operator. | |
size_t | stride (void) const |
Friends | |
class | boost::iterator_core_access |
Adaptor using a stride on underlying iterator.
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).
Type Requirements:
RandomAccessIterator
must be a Readable IteratorRandomAccessIterator
must be a Random Access Traversal Iterator
|
inlineexplicit |
default constructor
Using default constructor of BASE iterator.
|
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.
|
inline |