Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::gil::position_iterator< Deref, Dim > Struct Template Reference

An iterator that remembers its current X,Y position and invokes a function object with it upon dereferencing. More...

#include <position_iterator.hpp>

Inheritance diagram for boost::gil::position_iterator< Deref, Dim >:
Collaboration diagram for boost::gil::position_iterator< Deref, Dim >:

Public Types

typedef iterator_facade
< position_iterator< Deref,
Dim >, typename
Deref::value_type,
std::random_access_iterator_tag,
typename Deref::reference,
typename
Deref::argument_type::template
axis< Dim >::coord_t > 
parent_t
 
typedef parent_t::difference_type difference_type
 
typedef parent_t::reference reference
 
typedef Deref::argument_type point_t
 

Public Member Functions

 position_iterator ()
 
 position_iterator (const point_t &p, const point_t &step, const Deref &d)
 
 position_iterator (const position_iterator &p)
 
template<typename D >
 position_iterator (const position_iterator< D, Dim > &p)
 
position_iteratoroperator= (const position_iterator &p)
 
const point_tpos () const
 
const point_tstep () const
 
const Deref & deref_fn () const
 
void set_step (difference_type s)
 
reference operator[] (difference_type d) const
 For some reason operator[] provided by iterator_adaptor returns a custom class that is convertible to reference We require our own reference because it is registered in iterator_traits. More...
 

Friends

template<typename DE , int DI>
struct position_iterator
 
class boost::iterator_core_access
 

Detailed Description

template<typename Deref, int Dim>
struct boost::gil::position_iterator< Deref, Dim >

An iterator that remembers its current X,Y position and invokes a function object with it upon dereferencing.

Models PixelIteratorConcept. Used to create virtual image views. Models: StepIteratorConcept, PixelIteratorConcept, PixelBasedConcept, HasDynamicXStepTypeConcept

Member Typedef Documentation

template<typename Deref, int Dim>
typedef parent_t::difference_type boost::gil::position_iterator< Deref, Dim >::difference_type
template<typename Deref, int Dim>
typedef iterator_facade<position_iterator<Deref,Dim>, typename Deref::value_type, std::random_access_iterator_tag, typename Deref::reference, typename Deref::argument_type::template axis<Dim>::coord_t> boost::gil::position_iterator< Deref, Dim >::parent_t
template<typename Deref, int Dim>
typedef Deref::argument_type boost::gil::position_iterator< Deref, Dim >::point_t
template<typename Deref, int Dim>
typedef parent_t::reference boost::gil::position_iterator< Deref, Dim >::reference

Constructor & Destructor Documentation

template<typename Deref, int Dim>
boost::gil::position_iterator< Deref, Dim >::position_iterator ( )
inline
template<typename Deref, int Dim>
boost::gil::position_iterator< Deref, Dim >::position_iterator ( const point_t p,
const point_t step,
const Deref &  d 
)
inline
template<typename Deref, int Dim>
boost::gil::position_iterator< Deref, Dim >::position_iterator ( const position_iterator< Deref, Dim > &  p)
inline
template<typename Deref, int Dim>
template<typename D >
boost::gil::position_iterator< Deref, Dim >::position_iterator ( const position_iterator< D, Dim > &  p)
inline

Member Function Documentation

template<typename Deref, int Dim>
const Deref& boost::gil::position_iterator< Deref, Dim >::deref_fn ( ) const
inline
template<typename Deref, int Dim>
position_iterator& boost::gil::position_iterator< Deref, Dim >::operator= ( const position_iterator< Deref, Dim > &  p)
inline
template<typename Deref, int Dim>
reference boost::gil::position_iterator< Deref, Dim >::operator[] ( difference_type  d) const
inline

For some reason operator[] provided by iterator_adaptor returns a custom class that is convertible to reference We require our own reference because it is registered in iterator_traits.

References boost::multiprecision::backends::p.

template<typename Deref, int Dim>
const point_t& boost::gil::position_iterator< Deref, Dim >::pos ( ) const
inline
template<typename Deref, int Dim>
void boost::gil::position_iterator< Deref, Dim >::set_step ( difference_type  s)
inline

References boost::asio::s.

template<typename Deref, int Dim>
const point_t& boost::gil::position_iterator< Deref, Dim >::step ( ) const
inline

Friends And Related Function Documentation

template<typename Deref, int Dim>
template<typename DE , int DI>
friend struct position_iterator
friend
template<typename Deref, int Dim>
friend class boost::iterator_core_access
friend

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