Pixel Iterators
[GIL Models]


Detailed Description

Iterators operating on pixels.


Modules

 Dereference adaptors
 Unary function objects that can be invoked upon dereferencing a pixel iterator/locator.
 Planar Pointers
 Implementations of pointers to planar pixels.
 Iterator Traits
 Traits for pixel iterators.
 Byte-level operations
 Byte-level operations on pixel iterators.

Classes

class  pixel_image_iterator
 Provides 1D random-access navigation to the pixels of the image. More...
class  dereference_iterator_adaptor
 An adaptor over an existing iterator that provides for custom filter on dereferencing the object. More...
struct  position_iterator
 An iterator that remembers its current X,Y position and invokes a function object with it upon dereferencing. Used to create virtual image views. Models: StepIteratorConcept, PixelIteratorConcept. More...
class  pixel_step_iterator
 Pixel iterator with dynamically specified step in bytes. More...

make_step_iterator

Constructs a step iterator from a base iterator and a step.

To construct a step iterator from a given iterator Iterator and a given step, if Iterator does not already have a dynamic step, we wrap it in a pixel_step_iterator. Otherwise we do a compile-time traversal of the chain of iterator adaptors to locate the step iterator and then set it step to the new one.

The step iterator of Iterator is not always pixel_step_iterator<Iterator>. For example, Iterator may already be a pixel step iterator, in which case it will be inefficient to stack them; we can obtain the same result by multiplying their steps. Note that for Iterator to be a step iterator it does not necessarily have to have the form pixel_step_iterator<J>. The step iterator can be wrapped inside another iterator. Also, it may not have the type pixel_step_iterator, but it could be a user-provided type. We know that Iterator is a step iterator if iterator_is_step<Iterator>() is true.

template<typename I>
pixel_iterator_traits< I
>::dynamic_step_t 
make_step_iterator (const I &it, std::ptrdiff_t step)
 for dereference_iterator_adaptor, pixel_image_iterator, etc.
template<typename T, typename C>
pixel_step_iterator< pixel<
T, C > * > 
make_step_iterator (pixel< T, C > *it, std::ptrdiff_t step)
template<typename T, typename C>
pixel_step_iterator< const
pixel< T, C > * > 
make_step_iterator (const pixel< T, C > *it, std::ptrdiff_t step)
template<typename IC, typename C>
pixel_step_iterator< planar_ptr<
IC, C > > 
make_step_iterator (const planar_ptr< IC, C > &it, std::ptrdiff_t step)
template<typename I>
pixel_iterator_traits< I
>::dynamic_step_t 
make_step_iterator (const pixel_step_iterator< I > &it, std::ptrdiff_t step)

Function Documentation

pixel_iterator_traits<I>::dynamic_step_t make_step_iterator const pixel_step_iterator< I > &  it,
std::ptrdiff_t  step
 

for pixel_step_iterator

pixel_step_iterator<planar_ptr<IC,C> > make_step_iterator const planar_ptr< IC, C > &  it,
std::ptrdiff_t  step
 

for planar_ptr<IC,C>

pixel_step_iterator<const pixel<T,C>*> make_step_iterator const pixel< T, C > *  it,
std::ptrdiff_t  step
 

for const pixel<T,C>*

pixel_step_iterator<pixel<T,C>*> make_step_iterator pixel< T, C > *  it,
std::ptrdiff_t  step
 

for pixel<T,C>*

Copyright © 2006 Adobe Systems Incorporated.

Use of this website signifies your agreement to the Terms of Use and Online Privacy Policy.

Search powered by Google