oln::bkd_iter3d< Exact > Class Template Reference

#include <bkd_iter3d.hh>

Inheritance diagram for oln::bkd_iter3d< Exact >:

Inheritance graph
[legend]
Collaboration diagram for oln::bkd_iter3d< Exact >:

Collaboration graph
[legend]
List of all members.

Public Types

enum  { dim = iter_traits<exact_type>::dim }
typedef mlc::exact_vt< bkd_iter3d<
Exact >, Exact >::ret 
exact_type
 The exact type.
typedef abstract::iter3d<
exact_type
super_type
 The super type.
typedef abstract::iter< exact_typesuper_iter_type
 The super iterator type.
typedef iter_traits< exact_type
>::point_type 
point_type
 The associate image's type of point.

Public Member Functions

template<class Image>
 bkd_iter3d (const Image &ima)
 Construct a backward iterator (3 dimension).
template<class U>
operator= (U u)
 Set current iterator's point.

Static Public Member Functions

static std::string name ()
 Return the name of the type.

Protected Member Functions

void goto_begin_ ()
 Set current point to the first iterator's point.
void goto_end_ ()
 Set current point to the last iterator's point.
bool is_at_end_ () const
 Test if iterator's current point is the last one.
void goto_next_ ()
 Go to the next iterator's point.

Friends

class abstract::iter< exact_type >
class abstract::iter3d< exact_type >

Detailed Description

template<class Exact>
class oln::bkd_iter3d< Exact >

Backward Iterator on image 3 dimension.

Allow iterable object (like image, window, ...) 3 dimensions backward traversing.

See also:
iter

Definition at line 55 of file bkd_iter3d.hh.


Member Typedef Documentation

template<class Exact>
typedef iter_traits<exact_type>::point_type oln::bkd_iter3d< Exact >::point_type

The associate image's type of point.

Warning:
Prefer the macros oln_point_type(Pointable) and oln_point_type_(Pointable) (the same without the 'typename' keyword)

Reimplemented from oln::abstract::iter< Exact >.

Definition at line 73 of file bkd_iter3d.hh.


Constructor & Destructor Documentation

template<class Exact>
template<class Image>
oln::bkd_iter3d< Exact >::bkd_iter3d ( const Image &  ima  )  [inline]

Construct a backward iterator (3 dimension).

Definition at line 83 of file bkd_iter3d.hh.

00083                                  :
00084       super_type(ima.size())
00085     {}


Member Function Documentation

template<class Exact>
template<class U>
U oln::bkd_iter3d< Exact >::operator= ( u  )  [inline]

Set current iterator's point.

Definition at line 93 of file bkd_iter3d.hh.

References oln::abstract::iter< Exact >::operator=().

00094     {
00095       return super_iter_type::operator=(u);
00096     }

template<class Exact>
void oln::bkd_iter3d< Exact >::goto_begin_ (  )  [inline, protected]

Set current point to the first iterator's point.

Set current point of iterator to the first iterator's point.

Definition at line 112 of file bkd_iter3d.hh.

References oln::abstract::iter3d< Exact >::ncols_, oln::abstract::iter3d< Exact >::nrows_, oln::abstract::iter3d< Exact >::nslices_, and oln::abstract::iter< Exact >::p_.

00113     {
00114       this->p_.slice() = this->nslices_ - 1;
00115       this->p_.row() = this->nrows_ - 1;
00116       this->p_.col() = this->ncols_ - 1;
00117     }

template<class Exact>
void oln::bkd_iter3d< Exact >::goto_end_ (  )  [inline, protected]

Set current point to the last iterator's point.

Set current point of iterator to the last iterator's point.

Definition at line 125 of file bkd_iter3d.hh.

References oln::abstract::iter< Exact >::p_.

00126     {
00127       this->p_.slice() = -1;
00128     }

template<class Exact>
bool oln::bkd_iter3d< Exact >::is_at_end_ (  )  const [inline, protected]

Test if iterator's current point is the last one.

Returns:
True if current point is the last one.

Definition at line 135 of file bkd_iter3d.hh.

References oln::abstract::iter< Exact >::p_.

00136     {
00137       return this->p_.slice() == -1;
00138     }


The documentation for this class was generated from the following file:
Generated on Tue Feb 20 20:24:01 2007 for Olena by  doxygen 1.5.1