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

mln::box_runstart_piter< P > Class Template Reference

A generic forward iterator on points by lines. More...

#include <box_runstart_piter.hh>

Inheritance diagram for mln::box_runstart_piter< P >:
Inheritance graph

List of all members.

Public Types

enum  { dim = super_::dim }
typedef Site_Proxy< void > category
typedef box_runstart_piter< P > exact_t
typedef box< P > pset
 The associated site set type.
typedef box< P >::site site
 The associated site type (as a Site_Proxy).
typedef box< P > target
 The associated target type.

Public Member Functions

 box_runstart_piter (const box< P > &b)
 Constructor.
 box_runstart_piter ()
void change_target (const box< P > &s)
 Change the site set targeted by this iterator.
void change_target_ (const box< P > &s)
 Part of the change_target specific to the exact iterator type, empty by default (to be overloaded).
void init_ (const box< P > &b)
 Delayed initialization.
void invalidate ()
void invalidate_ ()
 Invalidate the iterator.
bool is_valid () const
bool is_valid_ () const
 Test the iterator validity.
void next ()
 Go to the next element.
void next_ ()
 Go to the next point.
const box< P >::psite & p_hook_ () const
 Hook to the current location.
unsigned run_length () const
 Give the lenght of the run.
const box< P > & site_set () const
 Give the site set that this iterator browses.
void start ()
void start_ ()
 Start an iteration.
const box< P >::psite & subj_ ()
 Give the subject (required by the Proxy interface).
const box< P > *& target_ ()
 Give the target address. It might be 0.
const box< P >::siteto_site () const
 Return the site it points to (as a Site_Proxy).

Protected Attributes

box< P >::psite p_
 The psite designated by this iterator.
const box< P > * s_
 The target.

Private Types

typedef box_runstart_piter< P > self_
typedef
internal::site_set_iterator_base
< box< P >, self_
super_

Detailed Description

template<typename P>
class mln::box_runstart_piter< P >

A generic forward iterator on points by lines.

The parameter P is the type of points.

Definition at line 49 of file box_runstart_piter.hh.


Member Typedef Documentation

typedef Site_Proxy<void> mln::Site_Proxy< box_runstart_piter< P > >::category [inherited]

Reimplemented from mln::Proxy< box_runstart_piter< P > >.

Definition at line 63 of file site_proxy.hh.

typedef box_runstart_piter< P > mln::Object< box_runstart_piter< P > >::exact_t [inherited]

Definition at line 173 of file object.hh.

typedef box< P > mln::internal::site_set_iterator_base< box< P > , box_runstart_piter< P > >::pset [inherited]

The associated site set type.

Definition at line 57 of file site_set_iterator_base.hh.

template<typename P>
typedef box_runstart_piter<P> mln::box_runstart_piter< P >::self_ [private]

Definition at line 53 of file box_runstart_piter.hh.

typedef box< P > ::site mln::internal::site_iterator_base< box< P > , box_runstart_piter< P > >::site [inherited]

The associated site type (as a Site_Proxy).

Definition at line 64 of file site_iterator_base.hh.

template<typename P>
typedef internal::site_set_iterator_base< box<P>, self_ > mln::box_runstart_piter< P >::super_ [private]
typedef box< P > mln::internal::site_iterator_base< box< P > , box_runstart_piter< P > >::target [inherited]

The associated target type.

Definition at line 61 of file site_iterator_base.hh.


Member Enumeration Documentation

template<typename P>
anonymous enum
Enumerator:
dim 

Definition at line 58 of file box_runstart_piter.hh.


Constructor & Destructor Documentation

template<typename P >
mln::box_runstart_piter< P >::box_runstart_piter ( const box< P > &  b  )  [inline]

Constructor.

Parameters:
[in] b A box.

Definition at line 105 of file box_runstart_piter.hh.

References mln::box_runstart_piter< P >::init_().

template<typename P >
mln::box_runstart_piter< P >::box_runstart_piter (  )  [inline]

Definition at line 99 of file box_runstart_piter.hh.


Member Function Documentation

void mln::internal::site_set_iterator_base< box< P > , box_runstart_piter< P > >::change_target ( const box< P > &  s  )  [inherited]

Change the site set targeted by this iterator.

Referenced by mln::box_runstart_piter< P >::init_().

void mln::internal::site_set_iterator_base< box< P > , box_runstart_piter< P > >::change_target_ ( const box< P > &  s  )  [inherited]

Part of the change_target specific to the exact iterator type, empty by default (to be overloaded).

template<typename P >
void mln::box_runstart_piter< P >::init_ ( const box< P > &  b  )  [inline]
void mln::Site_Iterator< box_runstart_piter< P > >::invalidate (  )  [inherited]
template<typename P >
void mln::box_runstart_piter< P >::invalidate_ (  )  [inline]
bool mln::Site_Iterator< box_runstart_piter< P > >::is_valid (  )  const [inherited]
template<typename P >
bool mln::box_runstart_piter< P >::is_valid_ (  )  const [inline]
void mln::Site_Iterator< box_runstart_piter< P > >::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 P >
void mln::box_runstart_piter< P >::next_ (  )  [inline]
const box< P > ::psite& mln::internal::site_set_iterator_base< box< P > , box_runstart_piter< P > >::p_hook_ (  )  const [inherited]

Hook to the current location.

template<typename P >
unsigned mln::box_runstart_piter< P >::run_length (  )  const [inline]
const box< P > & mln::internal::site_set_iterator_base< box< P > , box_runstart_piter< P > >::site_set (  )  const [inherited]

Give the site set that this iterator browses.

void mln::Site_Iterator< box_runstart_piter< P > >::start (  )  [inherited]
template<typename P >
void mln::box_runstart_piter< P >::start_ (  )  [inline]
const box< P > ::psite& mln::internal::site_iterator_base< box< P > , box_runstart_piter< P > >::subj_ (  )  [inherited]

Give the subject (required by the Proxy interface).

const box< P > *& mln::internal::site_iterator_base< box< P > , box_runstart_piter< P > >::target_ (  )  [inherited]

Give the target address. It might be 0.

const box< P > ::site& mln::internal::site_iterator_base< box< P > , box_runstart_piter< P > >::to_site (  )  const [inherited]

Return the site it points to (as a Site_Proxy).


Member Data Documentation

box< P > ::psite mln::internal::site_set_iterator_base< box< P > , box_runstart_piter< P > >::p_ [protected, inherited]
const box< P > * mln::internal::site_iterator_base< box< P > , box_runstart_piter< P > >::s_ [protected, inherited]