Is there any standard implementation (meaning stdlib or boost) of an iterator that wraps another iterator and gives only each nth element of it?
I first thought this would be possible with a fitting predicate and boost::filter_iterator, but the predicate gets only the value and not the base iterator, so it cannot tell the distance to the start.
Edit
To give some more information:
The iterator should be compatible with functions like std::transform
or std::copy
.
So it should be used like stdlib iterators.
Similar questions:
C++/STL: std::transform with given stride?
Non-unit iterator stride with non-random access iterators