Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::gil::detail::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 boost::gil::detail::step_iterator_adaptor< Derived, Iterator, SFn >:
Collaboration diagram for boost::gil::detail::step_iterator_adaptor< Derived, Iterator, SFn >:

Public Types

typedef iterator_adaptor
< Derived, Iterator,
use_default, use_default,
use_default, typename
SFn::difference_type > 
parent_t
 
typedef std::iterator_traits
< Iterator >::difference_type 
base_difference_type
 
typedef SFn::difference_type difference_type
 
typedef std::iterator_traits
< Iterator >::reference 
reference
 

Public Member Functions

 step_iterator_adaptor ()
 
 step_iterator_adaptor (const Iterator &it, SFn step_fn=SFn())
 
difference_type step () const
 

Protected Attributes

SFn _step_fn
 

Friends

class boost::iterator_core_access
 

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

template<typename Derived, typename Iterator, typename SFn>
typedef std::iterator_traits<Iterator>::difference_type boost::gil::detail::step_iterator_adaptor< Derived, Iterator, SFn >::base_difference_type
template<typename Derived, typename Iterator, typename SFn>
typedef SFn::difference_type boost::gil::detail::step_iterator_adaptor< Derived, Iterator, SFn >::difference_type
template<typename Derived, typename Iterator, typename SFn>
typedef iterator_adaptor<Derived, Iterator, use_default, use_default, use_default, typename SFn::difference_type> boost::gil::detail::step_iterator_adaptor< Derived, Iterator, SFn >::parent_t
template<typename Derived, typename Iterator, typename SFn>
typedef std::iterator_traits<Iterator>::reference boost::gil::detail::step_iterator_adaptor< Derived, Iterator, SFn >::reference

Constructor & Destructor Documentation

template<typename Derived, typename Iterator, typename SFn>
boost::gil::detail::step_iterator_adaptor< Derived, Iterator, SFn >::step_iterator_adaptor ( )
inline
template<typename Derived, typename Iterator, typename SFn>
boost::gil::detail::step_iterator_adaptor< Derived, Iterator, SFn >::step_iterator_adaptor ( const Iterator &  it,
SFn  step_fn = SFn() 
)
inline

Member Function Documentation

template<typename Derived, typename Iterator, typename SFn>
difference_type boost::gil::detail::step_iterator_adaptor< Derived, Iterator, SFn >::step ( ) const
inline

Friends And Related Function Documentation

template<typename Derived, typename Iterator, typename SFn>
friend class boost::iterator_core_access
friend

Member Data Documentation

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

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