Boost GIL


Public Types | Public Member Functions | Friends | List of all members
bit_aligned_pixel_iterator< NonAlignedPixelReference > Struct Template Reference

An iterator over non-byte-aligned pixels. Models PixelIteratorConcept, PixelBasedConcept, MemoryBasedIteratorConcept, HasDynamicXStepTypeConcept. More...

#include <bit_aligned_pixel_iterator.hpp>

Inherits iterator_facade< bit_aligned_pixel_iterator< NonAlignedPixelReference >, NonAlignedPixelReference::value_type, std::random_access_iterator_tag, const NonAlignedPixelReference, NonAlignedPixelReference::bit_range_t::difference_type >.

Public Types

using difference_type = typename parent_t::difference_type
 
using reference = typename parent_t::reference
 

Public Member Functions

 bit_aligned_pixel_iterator (const bit_aligned_pixel_iterator &p)
 
bit_aligned_pixel_iteratoroperator= (const bit_aligned_pixel_iterator &p)
 
template<typename Ref >
 bit_aligned_pixel_iterator (const bit_aligned_pixel_iterator< Ref > &p)
 
 bit_aligned_pixel_iterator (reference *ref)
 
 bit_aligned_pixel_iterator (typename bit_range_t::byte_t *data, int bit_offset=0)
 
auto operator[] (difference_type d) const -> reference
 
auto operator-> () const -> reference
 
auto bit_range () const -> bit_range_t const &
 
auto bit_range () -> bit_range_t &
 

Friends

class boost::iterator_core_access
 

Detailed Description

template<typename NonAlignedPixelReference>
struct boost::gil::bit_aligned_pixel_iterator< NonAlignedPixelReference >

An iterator over non-byte-aligned pixels. Models PixelIteratorConcept, PixelBasedConcept, MemoryBasedIteratorConcept, HasDynamicXStepTypeConcept.

An iterator over pixels that correspond to non-byte-aligned bit ranges. Examples of such pixels are single bit grayscale pixel, or a 6-bit RGB 222 pixel.

Member Function Documentation

◆ operator[]()

auto operator[] ( difference_type  d) const -> reference
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


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