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

An iterator over planar pixels. More...

#include <typedefs.hpp>

Inheritance diagram for boost::gil::planar_pixel_iterator< ChannelPtr, ColorSpace >:
Collaboration diagram for boost::gil::planar_pixel_iterator< ChannelPtr, ColorSpace >:

Classes

struct  address_of
 

Public Types

typedef parent_t::value_type value_type
 
typedef parent_t::reference reference
 
typedef parent_t::difference_type difference_type
 

Public Member Functions

 planar_pixel_iterator ()
 
 planar_pixel_iterator (bool)
 
 planar_pixel_iterator (const ChannelPtr &v0, const ChannelPtr &v1)
 
 planar_pixel_iterator (const ChannelPtr &v0, const ChannelPtr &v1, const ChannelPtr &v2)
 
 planar_pixel_iterator (const ChannelPtr &v0, const ChannelPtr &v1, const ChannelPtr &v2, const ChannelPtr &v3)
 
 planar_pixel_iterator (const ChannelPtr &v0, const ChannelPtr &v1, const ChannelPtr &v2, const ChannelPtr &v3, const ChannelPtr &v4)
 
template<typename IC1 , typename C1 >
 planar_pixel_iterator (const planar_pixel_iterator< IC1, C1 > &ptr)
 
template<typename P >
 planar_pixel_iterator (P *pix)
 Copy constructor and operator= from pointers to compatible planar pixels or planar pixel references. More...
 
template<typename P >
planar_pixel_iteratoroperator= (P *pix)
 
reference operator[] (difference_type d) const
 For some reason operator[] provided by iterator_facade returns a custom class that is convertible to reference We require our own reference because it is registered in iterator_traits. More...
 
reference operator-> () const
 
bool operator< (const planar_pixel_iterator &ptr) const
 
bool operator!= (const planar_pixel_iterator &ptr) const
 

Friends

class boost::iterator_core_access
 

Detailed Description

template<typename ChannelPtr, typename ColorSpace>
struct boost::gil::planar_pixel_iterator< ChannelPtr, ColorSpace >

An iterator over planar pixels.

Models HomogeneousColorBaseConcept, PixelIteratorConcept, HomogeneousPixelBasedConcept, MemoryBasedIteratorConcept, HasDynamicXStepTypeConcept

Planar pixels have channel data that is not consecutive in memory. To abstract this we use classes to represent references and pointers to planar pixels.

Member Typedef Documentation

template<typename ChannelPtr, typename ColorSpace>
typedef parent_t::difference_type boost::gil::planar_pixel_iterator< ChannelPtr, ColorSpace >::difference_type
template<typename ChannelPtr, typename ColorSpace>
typedef parent_t::reference boost::gil::planar_pixel_iterator< ChannelPtr, ColorSpace >::reference
template<typename ChannelPtr, typename ColorSpace>
typedef parent_t::value_type boost::gil::planar_pixel_iterator< ChannelPtr, ColorSpace >::value_type

Constructor & Destructor Documentation

template<typename ChannelPtr, typename ColorSpace>
boost::gil::planar_pixel_iterator< ChannelPtr, ColorSpace >::planar_pixel_iterator ( )
inline
template<typename ChannelPtr, typename ColorSpace>
boost::gil::planar_pixel_iterator< ChannelPtr, ColorSpace >::planar_pixel_iterator ( bool  )
inline
template<typename ChannelPtr, typename ColorSpace>
boost::gil::planar_pixel_iterator< ChannelPtr, ColorSpace >::planar_pixel_iterator ( const ChannelPtr &  v0,
const ChannelPtr &  v1 
)
inline
template<typename ChannelPtr, typename ColorSpace>
boost::gil::planar_pixel_iterator< ChannelPtr, ColorSpace >::planar_pixel_iterator ( const ChannelPtr &  v0,
const ChannelPtr &  v1,
const ChannelPtr &  v2 
)
inline
template<typename ChannelPtr, typename ColorSpace>
boost::gil::planar_pixel_iterator< ChannelPtr, ColorSpace >::planar_pixel_iterator ( const ChannelPtr &  v0,
const ChannelPtr &  v1,
const ChannelPtr &  v2,
const ChannelPtr &  v3 
)
inline
template<typename ChannelPtr, typename ColorSpace>
boost::gil::planar_pixel_iterator< ChannelPtr, ColorSpace >::planar_pixel_iterator ( const ChannelPtr &  v0,
const ChannelPtr &  v1,
const ChannelPtr &  v2,
const ChannelPtr &  v3,
const ChannelPtr &  v4 
)
inline
template<typename ChannelPtr, typename ColorSpace>
template<typename IC1 , typename C1 >
boost::gil::planar_pixel_iterator< ChannelPtr, ColorSpace >::planar_pixel_iterator ( const planar_pixel_iterator< IC1, C1 > &  ptr)
inline
template<typename ChannelPtr, typename ColorSpace>
template<typename P >
boost::gil::planar_pixel_iterator< ChannelPtr, ColorSpace >::planar_pixel_iterator ( P *  pix)
inline

Copy constructor and operator= from pointers to compatible planar pixels or planar pixel references.

That allow constructs like pointer = &value or pointer = &reference Since we should not override operator& that's the best we can do.

Member Function Documentation

template<typename ChannelPtr, typename ColorSpace>
bool boost::gil::planar_pixel_iterator< ChannelPtr, ColorSpace >::operator!= ( const planar_pixel_iterator< ChannelPtr, ColorSpace > &  ptr) const
inline

References boost::python::ptr().

template<typename ChannelPtr, typename ColorSpace>
reference boost::gil::planar_pixel_iterator< ChannelPtr, ColorSpace >::operator-> ( ) const
inline
template<typename ChannelPtr, typename ColorSpace>
bool boost::gil::planar_pixel_iterator< ChannelPtr, ColorSpace >::operator< ( const planar_pixel_iterator< ChannelPtr, ColorSpace > &  ptr) const
inline

References boost::python::ptr().

template<typename ChannelPtr, typename ColorSpace>
template<typename P >
planar_pixel_iterator& boost::gil::planar_pixel_iterator< ChannelPtr, ColorSpace >::operator= ( P *  pix)
inline
template<typename ChannelPtr, typename ColorSpace>
reference boost::gil::planar_pixel_iterator< ChannelPtr, ColorSpace >::operator[] ( difference_type  d) const
inline

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

References boost::gil::memunit_advanced_ref().

Friends And Related Function Documentation

template<typename ChannelPtr, typename ColorSpace>
friend class boost::iterator_core_access
friend

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