Boost GIL


Public Types | Public Member Functions | Friends | List of all members
virtual_2d_locator< Deref, IsTransposed > Class Template Reference

A 2D locator over a virtual image. Upon dereferencing, invokes a given function object passing it its coordinates. Models: PixelLocatorConcept, HasDynamicXStepTypeConcept, HasDynamicYStepTypeConcept, HasTransposedTypeConcept. More...

#include <virtual_locator.hpp>

Inheritance diagram for virtual_2d_locator< Deref, IsTransposed >:
pixel_2d_locator_base< virtual_2d_locator< Deref, IsTransposed >, position_iterator< Deref, IsTransposed >, position_iterator< Deref, 1-IsTransposed > >

Public Types

using parent_t = pixel_2d_locator_base< virtual_2d_locator< Deref, IsTransposed >, position_iterator< Deref, IsTransposed >, position_iterator< Deref, 1-IsTransposed > >
 
using const_t = virtual_2d_locator< typename Deref::const_t, IsTransposed >
 
using deref_fn_t = Deref
 
using point_t = typename parent_t::point_t
 
using coord_t = typename parent_t::coord_t
 
using x_coord_t = typename parent_t::x_coord_t
 
using y_coord_t = typename parent_t::y_coord_t
 
using x_iterator = typename parent_t::x_iterator
 
using y_iterator = typename parent_t::y_iterator
 
- Public Types inherited from pixel_2d_locator_base< virtual_2d_locator< Deref, IsTransposed >, position_iterator< Deref, IsTransposed >, position_iterator< Deref, 1-IsTransposed > >
using x_iterator = position_iterator< Deref, IsTransposed >
 
using y_iterator = position_iterator< Deref, 1-IsTransposed >
 
using value_type = typename std::iterator_traits< x_iterator >::value_type
 
using reference = typename std::iterator_traits< x_iterator >::reference
 
using coord_t = typename std::iterator_traits< x_iterator >::difference_type
 
using difference_type = point< coord_t >
 
using point_t = difference_type
 
using x_coord_t = typename point_t::template axis< 0 >::coord_t
 
using y_coord_t = typename point_t::template axis< 1 >::coord_t
 
using cached_location_t = difference_type
 

Public Member Functions

 virtual_2d_locator (const point_t &p=point_t(0, 0), const point_t &step=point_t(1, 1), const deref_fn_t &d=deref_fn_t())
 
template<typename D , bool TR>
 virtual_2d_locator (const virtual_2d_locator< D, TR > &loc, coord_t y_step)
 
template<typename D , bool TR>
 virtual_2d_locator (virtual_2d_locator< D, TR > const &loc, coord_t x_step, coord_t y_step, bool transpose=false)
 
template<typename D , bool TR>
 virtual_2d_locator (const virtual_2d_locator< D, TR > &pl)
 
 virtual_2d_locator (const virtual_2d_locator &pl)
 
bool operator== (const this_t &p) const
 
x_iterator & x ()
 
y_iterator & y ()
 
x_iterator const & x () const
 
y_iterator const & y () const
 
y_coord_t y_distance_to (const this_t &it2, x_coord_t) const
 
bool is_1d_traversable (x_coord_t) const
 
const point_t & pos () const
 
const point_t & step () const
 
const deref_fn_t & deref_fn () const
 
- Public Member Functions inherited from pixel_2d_locator_base< virtual_2d_locator< Deref, IsTransposed >, position_iterator< Deref, IsTransposed >, position_iterator< Deref, 1-IsTransposed > >
bool operator!= (const virtual_2d_locator< Deref, IsTransposed > &p) const
 
x_iterator x_at (x_coord_t dx, y_coord_t dy) const
 
x_iterator x_at (const difference_type &d) const
 
y_iterator y_at (x_coord_t dx, y_coord_t dy) const
 
y_iterator y_at (const difference_type &d) const
 
virtual_2d_locator< Deref, IsTransposed > xy_at (x_coord_t dx, y_coord_t dy) const
 
virtual_2d_locator< Deref, IsTransposed > xy_at (const difference_type &d) const
 
axis< D >::iterator & axis_iterator ()
 
axis< D >::iterator const & axis_iterator () const
 
axis< D >::iterator axis_iterator (const point_t &p) const
 
reference operator() (x_coord_t dx, y_coord_t dy) const
 
reference operator[] (const difference_type &d) const
 
reference operator* () const
 
virtual_2d_locator< Deref, IsTransposed > & operator+= (const difference_type &d)
 
virtual_2d_locator< Deref, IsTransposed > & operator-= (const difference_type &d)
 
virtual_2d_locator< Deref, IsTransposed > operator+ (const difference_type &d) const
 
virtual_2d_locator< Deref, IsTransposed > operator- (const difference_type &d) const
 
cached_location_t cache_location (const difference_type &d) const
 
cached_location_t cache_location (x_coord_t dx, y_coord_t dy) const
 

Friends

template<typename D , bool TR>
class virtual_2d_locator
 

Additional Inherited Members

- Static Public Attributes inherited from pixel_2d_locator_base< virtual_2d_locator< Deref, IsTransposed >, position_iterator< Deref, IsTransposed >, position_iterator< Deref, 1-IsTransposed > >
static const std::size_t num_dimensions
 

Detailed Description

template<typename Deref, bool IsTransposed>
class boost::gil::virtual_2d_locator< Deref, IsTransposed >

A 2D locator over a virtual image. Upon dereferencing, invokes a given function object passing it its coordinates. Models: PixelLocatorConcept, HasDynamicXStepTypeConcept, HasDynamicYStepTypeConcept, HasTransposedTypeConcept.


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