Adobe Systems, Inc.

Pixel Iterators
[GIL Models]

Iterators operating on pixels. More...

Modules

 Planar Pointers
 Iterator Traits
 Byte-level operations

Classes

class  dereference_iterator_adaptor< IT, D_FN >
 An adaptor over an existing iterator that provides for custom filter on dereferencing the object. More...
class  pixel_2d_locator< S_IT >
 Support for 2D random access of the pixels of an image. More...
class  pixel_image_iterator< LOC2 >
 Provides 1D random-access navigation to the pixels of the image. More...
class  pixel_step_iterator< IT >
 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 IT and a given step, if IT 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 IT is not always pixel_step_iterator<IT>. For example, IT 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 IT 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 IT is a step iterator if iterator_is_step<IT>() is true.

template<typename I>
pixel_iterator_traits< I
>::dynamic_step_t 
make_step_iterator (const pixel_step_iterator< I > &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 T, typename C>
pixel_step_iterator< const
pixel< T, C > * > 
make_step_iterator (const pixel< T, C > *it, std::ptrdiff_t step)
template<typename T, typename C>
pixel_step_iterator< pixel<
T, C > * > 
make_step_iterator (pixel< T, C > *it, std::ptrdiff_t step)
template<typename I>
pixel_iterator_traits< I
>::dynamic_step_t 
make_step_iterator (const I &it, std::ptrdiff_t step)

Detailed Description


Function Documentation

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.

Definition at line 248 of file metafunctions.hpp.

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

for pixel<T,C>*

Definition at line 254 of file metafunctions.hpp.

template<typename T, typename 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>*

Definition at line 260 of file metafunctions.hpp.

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
 

for planar_ptr<IC,C>

Definition at line 266 of file metafunctions.hpp.

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

for pixel_step_iterator

Definition at line 272 of file metafunctions.hpp.

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