#include <data.hh>
Public Types | |
typedef Site_Proxy< void > | category |
typedef depth1st_piter< T > | exact_t |
typedef T | pset |
The associated site set type. | |
typedef T::site | site |
The associated site type (as a Site_Proxy). | |
typedef T | target |
The associated target type. | |
Public Member Functions | |
void | change_target (const T &s) |
Change the site set targeted by this iterator. | |
depth1st_piter () | |
Constructor with no argument. | |
depth1st_piter (const T &t) | |
Constructor. | |
depth1st_piter (const T &t, const typename T::function::psite &p) | |
void | invalidate () |
void | invalidate_ () |
Invalidate the iterator. | |
bool | is_valid () const |
bool | is_valid_ () const |
Test if the iterator is valid. | |
void | next () |
Go to the next element. | |
void | next_ () |
Go to the next point. | |
const T::psite & | p_hook_ () const |
Hook to the current location. | |
const T & | site_set () const |
Give the site set that this iterator browses. | |
void | skip_children () |
Skip current point children. Next call to next() goes to the brother point. | |
void | start () |
void | start_ () |
Start an iteration. | |
const T::psite & | subj_ () |
Give the subject (required by the Proxy interface). | |
const T *& | target_ () |
Give the target address. It might be 0. | |
const T::site & | to_site () const |
Return the site it points to (as a Site_Proxy). | |
Protected Attributes | |
T::psite | p_ |
The psite designated by this iterator. | |
const T::function::psite * | root_ |
const T * | s_ |
The target. | |
std::deque< typename T::function::psite > | stack_ |
Private Types | |
typedef depth1st_piter< T > | self_ |
typedef mln::internal::site_set_iterator_base < T, self_ > | super_ |
typedef Site_Proxy<void> mln::Site_Proxy< depth1st_piter< T > >::category [inherited] |
Reimplemented from mln::Proxy< depth1st_piter< T > >.
typedef depth1st_piter< T > mln::Object< depth1st_piter< T > >::exact_t [inherited] |
typedef T mln::internal::site_set_iterator_base< T , depth1st_piter< T > >::pset [inherited] |
The associated site set type.
typedef depth1st_piter<T> mln::morpho::tree::depth1st_piter< T >::self_ [private] |
typedef T ::site mln::internal::site_iterator_base< T , depth1st_piter< T > >::site [inherited] |
The associated site type (as a Site_Proxy).
typedef mln::internal::site_set_iterator_base<T, self_> mln::morpho::tree::depth1st_piter< T >::super_ [private] |
Reimplemented from mln::internal::site_iterator_base< T, depth1st_piter< T > >.
typedef T mln::internal::site_iterator_base< T , depth1st_piter< T > >::target [inherited] |
The associated target type.
mln::morpho::tree::depth1st_piter< T >::depth1st_piter | ( | ) | [inline] |
Constructor with no argument.
mln::morpho::tree::depth1st_piter< T >::depth1st_piter | ( | const T & | t | ) | [inline] |
Constructor.
References mln::internal::site_set_iterator_base< T, depth1st_piter< T > >::change_target().
mln::morpho::tree::depth1st_piter< T >::depth1st_piter | ( | const T & | t, | |
const typename T::function::psite & | p | |||
) | [inline] |
void mln::internal::site_set_iterator_base< T , depth1st_piter< T > >::change_target | ( | const T & | s | ) | [inherited] |
Change the site set targeted by this iterator.
Referenced by mln::morpho::tree::depth1st_piter< T >::depth1st_piter().
void mln::Site_Iterator< depth1st_piter< T > >::invalidate | ( | ) | [inherited] |
Referenced by mln::morpho::tree::depth1st_piter< T >::start_().
void mln::morpho::tree::depth1st_piter< T >::invalidate_ | ( | ) | [inline] |
Invalidate the iterator.
References mln::morpho::tree::depth1st_piter< T >::stack_.
bool mln::Site_Iterator< depth1st_piter< T > >::is_valid | ( | ) | const [inherited] |
Referenced by mln::morpho::tree::depth1st_piter< T >::next_().
bool mln::morpho::tree::depth1st_piter< T >::is_valid_ | ( | ) | const [inline] |
Test if the iterator is valid.
References mln::morpho::tree::depth1st_piter< T >::stack_.
void mln::Site_Iterator< depth1st_piter< T > >::next | ( | ) | [inherited] |
Go to the next element.
Referenced by mln::morpho::tree::depth1st_piter< T >::start_().
void mln::morpho::tree::depth1st_piter< T >::next_ | ( | ) | [inline] |
const T ::psite& mln::internal::site_set_iterator_base< T , depth1st_piter< T > >::p_hook_ | ( | ) | const [inherited] |
Hook to the current location.
const T & mln::internal::site_set_iterator_base< T , depth1st_piter< T > >::site_set | ( | ) | const [inherited] |
Give the site set that this iterator browses.
void mln::morpho::tree::depth1st_piter< T >::skip_children | ( | ) | [inline] |
Skip current point children. Next call to next() goes to the brother point.
References mln::internal::site_set_iterator_base< T, depth1st_piter< T > >::p_, mln::internal::site_iterator_base< T, depth1st_piter< T > >::s_, and mln::morpho::tree::depth1st_piter< T >::stack_.
void mln::Site_Iterator< depth1st_piter< T > >::start | ( | ) | [inherited] |
void mln::morpho::tree::depth1st_piter< T >::start_ | ( | ) | [inline] |
Start an iteration.
References mln::Site_Iterator< depth1st_piter< T > >::invalidate(), mln::Site_Iterator< depth1st_piter< T > >::next(), mln::morpho::tree::depth1st_piter< T >::root_, mln::internal::site_iterator_base< T, depth1st_piter< T > >::s_, and mln::morpho::tree::depth1st_piter< T >::stack_.
const T ::psite& mln::internal::site_iterator_base< T , depth1st_piter< T > >::subj_ | ( | ) | [inherited] |
Give the subject (required by the Proxy interface).
const T *& mln::internal::site_iterator_base< T , depth1st_piter< T > >::target_ | ( | ) | [inherited] |
Give the target address. It might be 0.
const T ::site& mln::internal::site_iterator_base< T , depth1st_piter< T > >::to_site | ( | ) | const [inherited] |
Return the site it points to (as a Site_Proxy).
T ::psite mln::internal::site_set_iterator_base< T , depth1st_piter< T > >::p_ [protected, inherited] |
The psite designated by this iterator.
Referenced by mln::morpho::tree::depth1st_piter< T >::next_(), and mln::morpho::tree::depth1st_piter< T >::skip_children().
const T::function ::psite* mln::morpho::tree::depth1st_piter< T >::root_ [protected] |
Referenced by mln::morpho::tree::depth1st_piter< T >::start_().
const T * mln::internal::site_iterator_base< T , depth1st_piter< T > >::s_ [protected, inherited] |
std::deque<typename T::function ::psite> mln::morpho::tree::depth1st_piter< T >::stack_ [protected] |