A generic forward iterator on points by lines. More...
#include <box_runstart_piter.hh>
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 | 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 >::site & | to_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_ |
A generic forward iterator on points by lines.
The parameter P
is the type of points.
typedef Site_Proxy<void> mln::Site_Proxy< box_runstart_piter< P > >::category [inherited] |
Reimplemented from mln::Proxy< box_runstart_piter< P > >.
typedef box_runstart_piter< P > mln::Object< box_runstart_piter< P > >::exact_t [inherited] |
typedef box< P > mln::internal::site_set_iterator_base< box< P > , box_runstart_piter< P > >::pset [inherited] |
The associated site set type.
typedef box_runstart_piter<P> mln::box_runstart_piter< P >::self_ [private] |
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).
typedef internal::site_set_iterator_base< box<P>, self_ > mln::box_runstart_piter< P >::super_ [private] |
Reimplemented from mln::internal::site_iterator_base< box< P >, box_runstart_piter< P > >.
typedef box< P > mln::internal::site_iterator_base< box< P > , box_runstart_piter< P > >::target [inherited] |
The associated target type.
mln::box_runstart_piter< P >::box_runstart_piter | ( | const box< P > & | b | ) | [inline] |
Constructor.
[in] | b | A box. |
References mln::internal::site_set_iterator_base< box< P >, box_runstart_piter< P > >::change_target().
mln::box_runstart_piter< P >::box_runstart_piter | ( | ) | [inline] |
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 >::box_runstart_piter().
void mln::Site_Iterator< box_runstart_piter< P > >::invalidate | ( | ) | [inherited] |
void mln::box_runstart_piter< P >::invalidate_ | ( | ) | [inline] |
Invalidate the iterator.
References mln::internal::site_set_iterator_base< box< P >, box_runstart_piter< P > >::p_, and mln::internal::site_iterator_base< box< P >, box_runstart_piter< P > >::s_.
Referenced by mln::box_runstart_piter< P >::next_().
bool mln::Site_Iterator< box_runstart_piter< P > >::is_valid | ( | ) | const [inherited] |
bool mln::box_runstart_piter< P >::is_valid_ | ( | ) | const [inline] |
Test the iterator validity.
References mln::internal::site_set_iterator_base< box< P >, box_runstart_piter< P > >::p_, and mln::internal::site_iterator_base< box< P >, box_runstart_piter< P > >::s_.
void mln::Site_Iterator< box_runstart_piter< P > >::next | ( | ) | [inherited] |
Go to the next element.
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.
unsigned mln::box_runstart_piter< P >::run_length | ( | ) | const [inline] |
Give the lenght of the run.
References mln::box_runstart_piter< P >::dim, and mln::internal::site_iterator_base< box< P >, box_runstart_piter< P > >::s_.
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] |
void mln::box_runstart_piter< P >::start_ | ( | ) | [inline] |
Start an iteration.
References mln::internal::site_set_iterator_base< box< P >, box_runstart_piter< P > >::p_, and mln::internal::site_iterator_base< box< P >, box_runstart_piter< P > >::s_.
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).
box< P > ::psite mln::internal::site_set_iterator_base< box< P > , box_runstart_piter< P > >::p_ [protected, inherited] |
The psite designated by this iterator.
Referenced by mln::box_runstart_piter< P >::invalidate_(), mln::box_runstart_piter< P >::is_valid_(), mln::box_runstart_piter< P >::next_(), and mln::box_runstart_piter< P >::start_().
const box< P > * mln::internal::site_iterator_base< box< P > , box_runstart_piter< P > >::s_ [protected, inherited] |