Boost GIL


Public Types | Public Member Functions | Friends | List of all members
planar_pixel_iterator< ChannelPtr, ColorSpace > Struct Template Reference

An iterator over planar pixels. Models HomogeneousColorBaseConcept, PixelIteratorConcept, HomogeneousPixelBasedConcept, MemoryBasedIteratorConcept, HasDynamicXStepTypeConcept. More...

#include <planar_pixel_iterator.hpp>

Inherits iterator_interface< planar_pixel_iterator< ChannelPtr, ColorSpace >, std::random_access_iterator_tag, pixel< std::iterator_traits< ChannelPtr >::value_type, layout< ColorSpace > >, planar_pixel_reference< std::iterator_traits< ChannelPtr >::reference, ColorSpace > const >, and homogeneous_color_base< Element, Layout, K >.

Public Types

using value_type = typename parent_t::value_type
 
using reference = typename parent_t::reference
 
using difference_type = typename parent_t::difference_type
 
using iterator_category = typename parent_t::iterator_concept
 

Public Member Functions

 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)
 
template<typename P >
planar_pixel_iteratoroperator= (P *pix)
 
constexpr auto operator* () const noexcept -> reference
 
constexpr auto operator+= (difference_type d) -> planar_pixel_iterator &
 
constexpr auto operator++ () noexcept -> planar_pixel_iterator &
 
constexpr auto operator-- () noexcept -> planar_pixel_iterator &
 
constexpr auto operator++ (int) noexcept -> planar_pixel_iterator
 
constexpr auto operator-- (int) noexcept -> planar_pixel_iterator
 
constexpr auto operator- (const planar_pixel_iterator &other) const noexcept
 
constexpr bool operator== (const planar_pixel_iterator &other) const noexcept
 

Friends

struct boost::stl_interfaces::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.

Constructor & Destructor Documentation

◆ planar_pixel_iterator()

template<typename ChannelPtr , typename ColorSpace >
template<typename P >
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.


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