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

mln::topo::adj_lower_higher_face_bkd_iter< D > Class Template Reference

Forward iterator on all the adjacent (n-1)-faces and (n+1)-faces of the n-face of an mln::complex<D>. More...

#include <adj_lower_higher_face_iter.hh>

Inheritance diagram for mln::topo::adj_lower_higher_face_bkd_iter< D >:
Inheritance graph

List of all members.

Public Types

typedef Object< void > category
typedef
adj_higher_face_bkd_iter< D >
::center_type 
center_type
 The type of the center face.
typedef
adj_lower_higher_face_bkd_iter
< D > 
exact_t
typedef
adj_higher_face_bkd_iter< D >
::face_type 
face_type
 The type of the iterated faces.

Public Member Functions

void next ()
 Go to the next element.

 adj_lower_higher_face_bkd_iter ()
 Construction.
template<typename Fref >
 adj_lower_higher_face_bkd_iter (const Fref &f_ref)

void center_at (const center_type &c)
 Manipulation.
bool is_valid () const
 Test if the iterator is valid.
void invalidate ()
 Invalidate the iterator.
void start ()
 Start an iteration.
void next_ ()
 Go to the next point.

 operator typename const_face_type_< adj_higher_face_bkd_iter< D > >::ret () const
 Conversion.

Protected Member Functions

void update_ ()
 Update the target face.

Protected Attributes

face_type f_
 The face handle this iterator is pointing to.

Private Types

typedef
adj_higher_face_bkd_iter< D > 
iter1_
 The first complex relative iterator.
typedef
adj_lower_face_bkd_iter< D > 
iter2_
 The second complex relative iterator.
typedef
adj_lower_higher_face_bkd_iter
< D > 
self_
typedef
internal::complex_relative_iterator_sequence
< iter1_, iter2_, self_
super_

Detailed Description

template<unsigned D>
class mln::topo::adj_lower_higher_face_bkd_iter< D >

Forward iterator on all the adjacent (n-1)-faces and (n+1)-faces of the n-face of an mln::complex<D>.

Template Parameters:
D The dimension of the complex this iterator belongs to.

Member Typedef Documentation

typedef Object<void> mln::Object< adj_lower_higher_face_bkd_iter< D > >::category [inherited]

The type of the center face.

The type of the iterated faces.

template<unsigned D>
typedef adj_higher_face_bkd_iter<D> mln::topo::adj_lower_higher_face_bkd_iter< D >::iter1_ [private]
template<unsigned D>
typedef adj_lower_face_bkd_iter<D> mln::topo::adj_lower_higher_face_bkd_iter< D >::iter2_ [private]
template<unsigned D>
typedef adj_lower_higher_face_bkd_iter<D> mln::topo::adj_lower_higher_face_bkd_iter< D >::self_ [private]

Constructor & Destructor Documentation

Construction.

template<unsigned D>
template<typename Fref >
mln::topo::adj_lower_higher_face_bkd_iter< D >::adj_lower_higher_face_bkd_iter ( const Fref &  f_ref  )  [inline]

Member Function Documentation

Manipulation.

Change the center face.

Invalidate the iterator.

Test if the iterator is valid.

void mln::Iterator< adj_lower_higher_face_bkd_iter< D > >::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.

Go to the next point.

Conversion.

Return a reference to the corresponding face handle.

Start an iteration.

Update the target face.


Member Data Documentation

The face handle this iterator is pointing to.