Public Types | Public Member Functions | Protected Attributes | Private Types | Private Attributes

mln::fwd_pixter2d< I > Class Template Reference

Forward pixel iterator on a 2-D image with border. More...

#include <pixter2d.hh>

Inheritance diagram for mln::fwd_pixter2d< I >:
Inheritance graph

List of all members.

Public Types

typedef Object< void > category
typedef fwd_pixter2d< I > exact_t
typedef I image
 Image type.
typedef I::lvalue lvalue
 Image lvalue type.
typedef I::rvalue rvalue
 Image rvalue type.
typedef I::value value
 Image value type.

Public Member Functions

value ** address_ () const
 Address of the current iterator value/pixel.
 fwd_pixter2d (I &image)
 Constructor.
I & ima () const
 Give the pixel image.
void next ()
 Go to the next element.
void next_ ()
 Go to the next pixel.
 operator unsigned () const
void start_ ()
 Extra code for start().
rvalue val () const
 Get the pixel iterator value.
lvalue val ()
 pixel iterator value.

void start ()
 ManipulationStart an iteration.
void invalidate ()
 Invalidate the iterator.
bool is_valid () const
 Test if the iterator is valid.

Protected Attributes

I::qlf_value * boi_
 Beginning of the image.
I::qlf_value * eoi_
 End of the image (past-the-end).

Private Types

typedef
internal::forward_pixel_iterator_base_
< I, fwd_pixter2d< I > > 
super_

Private Attributes

unsigned border_x2_
 Twice the size of the image border.
I::qlf_value * eor_
 End of the current row.
unsigned row_offset_
 Row offset.

Detailed Description

template<typename I>
class mln::fwd_pixter2d< I >

Forward pixel iterator on a 2-D image with border.


Member Typedef Documentation

typedef Object<void> mln::Object< fwd_pixter2d< I > >::category [inherited]
typedef fwd_pixter2d< I > mln::Object< fwd_pixter2d< I > >::exact_t [inherited]
template<typename I >
typedef I mln::fwd_pixter2d< I >::image
typedef I ::lvalue mln::internal::pixel_impl_< I, fwd_pixter2d< I > >::lvalue [inherited]

Image lvalue type.

typedef I ::rvalue mln::internal::pixel_impl_< I, fwd_pixter2d< I > >::rvalue [inherited]

Image rvalue type.

template<typename I >
typedef internal::forward_pixel_iterator_base_< I, fwd_pixter2d<I> > mln::fwd_pixter2d< I >::super_ [private]
typedef I ::value mln::internal::pixel_impl_< I, fwd_pixter2d< I > >::value [inherited]

Image value type.


Constructor & Destructor Documentation

template<typename I >
mln::fwd_pixter2d< I >::fwd_pixter2d ( I &  image  )  [inline]

Constructor.

Parameters:
[in] image The image this pixel iterator is bound to.

Member Function Documentation

value** mln::internal::pixel_impl_< I, fwd_pixter2d< I > >::address_ (  )  const [inherited]

Address of the current iterator value/pixel.

I& mln::internal::pixel_impl_< I, fwd_pixter2d< I > >::ima (  )  const [inherited]

Give the pixel image.

void mln::internal::forward_pixel_iterator_base_< I, fwd_pixter2d< I > >::invalidate (  )  [inherited]

Invalidate the iterator.

bool mln::internal::forward_pixel_iterator_base_< I, fwd_pixter2d< I > >::is_valid (  )  const [inherited]

Test if the iterator is valid.

void mln::Iterator< fwd_pixter2d< I > >::next (  )  [inherited]

Go to the next element.

Warning:
This is a final method; iterator classes should not re-defined this method. The actual "next" operation has to be defined through the next_ method.
Precondition:
The iterator is valid.
template<typename I >
void mln::fwd_pixter2d< I >::next_ (  )  [inline]
mln::Generalized_Pixel< fwd_pixter2d< I > >::operator unsigned (  )  const [inline, inherited]
void mln::internal::forward_pixel_iterator_base_< I, fwd_pixter2d< I > >::start (  )  [inherited]

ManipulationStart an iteration.

template<typename I >
void mln::fwd_pixter2d< I >::start_ (  )  [inline]
rvalue mln::internal::pixel_impl_< I, fwd_pixter2d< I > >::val (  )  const [inherited]

Get the pixel iterator value.

lvalue mln::internal::pixel_impl_< I, fwd_pixter2d< I > >::val (  )  [inherited]

pixel iterator value.


Member Data Documentation

I ::qlf_value* mln::internal::pixel_iterator_base_< I, fwd_pixter2d< I > >::boi_ [protected, inherited]

Beginning of the image.

template<typename I >
unsigned mln::fwd_pixter2d< I >::border_x2_ [private]

Twice the size of the image border.

Referenced by mln::fwd_pixter2d< I >::next_().

I ::qlf_value* mln::internal::pixel_iterator_base_< I, fwd_pixter2d< I > >::eoi_ [protected, inherited]

End of the image (past-the-end).

Referenced by mln::fwd_pixter2d< I >::next_().

template<typename I >
I ::qlf_value* mln::fwd_pixter2d< I >::eor_ [private]

End of the current row.

Referenced by mln::fwd_pixter2d< I >::next_(), and mln::fwd_pixter2d< I >::start_().

template<typename I >
unsigned mln::fwd_pixter2d< I >::row_offset_ [private]

Row offset.

Referenced by mln::fwd_pixter2d< I >::next_().