Boost GIL


step_iterator_adaptor< Derived, Iterator, SFn > Class Template Reference

An adaptor over an existing iterator that changes the step unit. More...

#include <step_iterator.hpp>

Inheritance diagram for step_iterator_adaptor< Derived, Iterator, SFn >:
memory_based_step_iterator< bit_aligned_pixel_iterator< NonAlignedPixelReference > > memory_based_step_iterator< typename iterator_type_from_pixel< Pixel, IsPlanar, false, IsMutable >::type > memory_based_step_iterator< typename iterator_type< T, L, IsPlanar, false, IsMutable >::type > memory_based_step_iterator< XIterator > memory_based_step_iterator< Pixel * > memory_based_step_iterator< const Pixel * > memory_based_step_iterator< planar_pixel_iterator< IC, C > > memory_based_step_iterator< NewBaseIterator >

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

Public Member Functions

 step_iterator_adaptor (Iterator const &it, SFn step_fn=SFn())
auto step () const -> difference_type
constexpr Derived & operator+= (base_difference_type d)
constexpr auto base () noexcept
constexpr auto base () const noexcept

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

Detailed Description

template<typename Derived, typename Iterator, typename SFn>
class boost::gil::detail::step_iterator_adaptor< Derived, Iterator, SFn >

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.

Member Typedef Documentation

◆ parent_t

template<typename Derived, typename Iterator, typename SFn>
using parent_t
Initial value:
stl_interfaces::iterator_interface<
Derived,
std::random_access_iterator_tag,
typename std::iterator_traits<Iterator>::value_type,
typename std::iterator_traits<Iterator>::reference,
typename std::iterator_traits<Iterator>::pointer,
typename SFn::difference_type>

The documentation for this class was generated from the following file: