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 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_iterator & | operator= (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 |
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.
|
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.