Boost GIL


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

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

#include <bit_aligned_pixel_iterator.hpp>

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

Public Types

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

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)
 
constexpr auto operator* () const noexcept -> reference
 
constexpr auto operator+= (difference_type i) noexcept -> bit_aligned_pixel_iterator &
 
constexpr auto operator- (bit_aligned_pixel_iterator other) const noexcept
 
auto bit_range () const -> bit_range_t const &
 
auto bit_range () -> bit_range_t &
 

Detailed Description

template<typename NonAlignedPixelReference>
class 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.


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