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

typedef parent_t::difference_type difference_type
 
typedef parent_t::reference 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)
 
reference operator[] (difference_type d) const
 
reference operator-> () const
 
const bit_range_t & bit_range () const
 
bit_range_t & bit_range ()
 

Friends

template<typename Ref >
struct bit_aligned_pixel_iterator
 
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

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