An adaptor over an existing iterator that changes the step unit. More...
#include <step_iterator.hpp>
Public Types | |
| using | parent_t |
| using | base_difference_type = typename std::iterator_traits<Iterator>::difference_type |
| using | difference_type = typename SFn::difference_type |
| using | reference = typename std::iterator_traits<Iterator>::reference |
| using | iterator_category = typename parent_t::iterator_concept |
Protected Member Functions | |
| constexpr auto | base_reference () noexcept -> Iterator & |
| constexpr auto | base_reference () const noexcept -> Iterator const & |
Protected Attributes | |
| Iterator | it_ |
| SFn | _step_fn |
Friends | |
| constexpr auto | operator- (Derived const &lhs, Derived const &rhs) noexcept -> difference_type |
An adaptor over an existing iterator that changes the step unit.
(i.e. distance(it,it+1)) by a given predicate. Instead of calling base's operators ++, –, +=, -=, etc. the adaptor is using the passed policy object SFn for advancing and for computing the distance between iterators.
| using parent_t |