Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::gil::iterator_from_2d< Loc2 > Class Template Reference

Provides 1D random-access navigation to the pixels of the image. More...

#include <iterator_from_2d.hpp>

Inheritance diagram for boost::gil::iterator_from_2d< Loc2 >:
Collaboration diagram for boost::gil::iterator_from_2d< Loc2 >:

Public Types

typedef iterator_facade
< iterator_from_2d< Loc2 >
, typename Loc2::value_type,
std::random_access_iterator_tag,
typename Loc2::reference,
typename Loc2::coord_t > 
parent_t
 
typedef parent_t::reference reference
 
typedef parent_t::difference_type difference_type
 
typedef Loc2::x_iterator x_iterator
 
typedef Loc2::point_t point_t
 

Public Member Functions

std::ptrdiff_t width () const
 
std::ptrdiff_t x_pos () const
 
std::ptrdiff_t y_pos () const
 
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...
 
bool is_1d_traversable () const
 
x_iteratorx ()
 
 iterator_from_2d ()
 
 iterator_from_2d (const Loc2 &p, std::ptrdiff_t width, std::ptrdiff_t x=0, std::ptrdiff_t y=0)
 
 iterator_from_2d (const iterator_from_2d &pit)
 
template<typename Loc >
 iterator_from_2d (const iterator_from_2d< Loc > &pit)
 

Friends

template<typename Loc >
class iterator_from_2d
 
class boost::iterator_core_access
 

Detailed Description

template<typename Loc2>
class boost::gil::iterator_from_2d< Loc2 >

Provides 1D random-access navigation to the pixels of the image.

Models: PixelIteratorConcept, PixelBasedConcept, HasDynamicXStepTypeConcept

Pixels are traversed from the top to the bottom row and from the left to the right within each row

Member Typedef Documentation

template<typename Loc2>
typedef parent_t::difference_type boost::gil::iterator_from_2d< Loc2 >::difference_type
template<typename Loc2>
typedef iterator_facade<iterator_from_2d<Loc2>, typename Loc2::value_type, std::random_access_iterator_tag, typename Loc2::reference, typename Loc2::coord_t> boost::gil::iterator_from_2d< Loc2 >::parent_t
template<typename Loc2>
typedef Loc2::point_t boost::gil::iterator_from_2d< Loc2 >::point_t
template<typename Loc2>
typedef parent_t::reference boost::gil::iterator_from_2d< Loc2 >::reference
template<typename Loc2>
typedef Loc2::x_iterator boost::gil::iterator_from_2d< Loc2 >::x_iterator

Constructor & Destructor Documentation

template<typename Loc2>
boost::gil::iterator_from_2d< Loc2 >::iterator_from_2d ( )
inline
template<typename Loc2>
boost::gil::iterator_from_2d< Loc2 >::iterator_from_2d ( const Loc2 &  p,
std::ptrdiff_t  width,
std::ptrdiff_t  x = 0,
std::ptrdiff_t  y = 0 
)
inline
template<typename Loc2>
boost::gil::iterator_from_2d< Loc2 >::iterator_from_2d ( const iterator_from_2d< Loc2 > &  pit)
inline
template<typename Loc2>
template<typename Loc >
boost::gil::iterator_from_2d< Loc2 >::iterator_from_2d ( const iterator_from_2d< Loc > &  pit)
inline

Member Function Documentation

template<typename Loc2>
bool boost::gil::iterator_from_2d< Loc2 >::is_1d_traversable ( ) const
inline
template<typename Loc2>
reference boost::gil::iterator_from_2d< Loc2 >::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.

template<typename Loc2>
std::ptrdiff_t boost::gil::iterator_from_2d< Loc2 >::y_pos ( ) const
inline

Friends And Related Function Documentation

template<typename Loc2>
template<typename Loc >
friend class iterator_from_2d
friend
template<typename Loc2>
friend class boost::iterator_core_access
friend

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