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

mln::morpho::tree::depth1st_piter< T > Class Template Reference

#include <data.hh>

Inheritance diagram for mln::morpho::tree::depth1st_piter< T >:
Inheritance graph

List of all members.

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.
void change_target_ (const T &s)
 Part of the change_target specific to the exact iterator type, empty by default (to be overloaded).
 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_

Detailed Description

template<typename T>
class mln::morpho::tree::depth1st_piter< T >

Definition at line 352 of file morpho/tree/data.hh.


Member Typedef Documentation

typedef Site_Proxy<void> mln::Site_Proxy< depth1st_piter< T > >::category [inherited]

Reimplemented from mln::Proxy< depth1st_piter< T > >.

Definition at line 63 of file site_proxy.hh.

typedef depth1st_piter< T > mln::Object< depth1st_piter< T > >::exact_t [inherited]

Definition at line 173 of file object.hh.

typedef T mln::internal::site_set_iterator_base< T , depth1st_piter< T > >::pset [inherited]

The associated site set type.

Definition at line 57 of file site_set_iterator_base.hh.

template<typename T >
typedef depth1st_piter<T> mln::morpho::tree::depth1st_piter< T >::self_ [private]

Definition at line 355 of file morpho/tree/data.hh.

typedef T ::site mln::internal::site_iterator_base< T , depth1st_piter< T > >::site [inherited]

The associated site type (as a Site_Proxy).

Definition at line 64 of file site_iterator_base.hh.

template<typename T >
typedef mln::internal::site_set_iterator_base<T, self_> mln::morpho::tree::depth1st_piter< T >::super_ [private]
typedef T mln::internal::site_iterator_base< T , depth1st_piter< T > >::target [inherited]

The associated target type.

Definition at line 61 of file site_iterator_base.hh.


Constructor & Destructor Documentation

template<typename T >
mln::morpho::tree::depth1st_piter< T >::depth1st_piter (  )  [inline]

Constructor with no argument.

Definition at line 613 of file morpho/tree/data.hh.

template<typename T >
mln::morpho::tree::depth1st_piter< T >::depth1st_piter ( const T &  t  )  [inline]
template<typename T >
mln::morpho::tree::depth1st_piter< T >::depth1st_piter ( const T &  t,
const typename T::function::psite &  p 
) [inline]

Member Function Documentation

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::internal::site_set_iterator_base< T , depth1st_piter< T > >::change_target_ ( const T &  s  )  [inherited]

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

void mln::Site_Iterator< depth1st_piter< T > >::invalidate (  )  [inherited]
template<typename T >
void mln::morpho::tree::depth1st_piter< T >::invalidate_ (  )  [inline]

Invalidate the iterator.

Definition at line 647 of file morpho/tree/data.hh.

References mln::morpho::tree::depth1st_piter< T >::stack_.

bool mln::Site_Iterator< depth1st_piter< T > >::is_valid (  )  const [inherited]
template<typename T >
bool mln::morpho::tree::depth1st_piter< T >::is_valid_ (  )  const [inline]

Test if the iterator is valid.

Definition at line 639 of file morpho/tree/data.hh.

References mln::morpho::tree::depth1st_piter< T >::stack_.

void mln::Site_Iterator< depth1st_piter< T > >::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.

Referenced by mln::morpho::tree::depth1st_piter< T >::start_().

template<typename T >
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.

template<typename T >
void mln::morpho::tree::depth1st_piter< T >::skip_children (  )  [inline]
void mln::Site_Iterator< depth1st_piter< T > >::start (  )  [inherited]
template<typename T >
void mln::morpho::tree::depth1st_piter< T >::start_ (  )  [inline]
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).


Member Data Documentation

T ::psite mln::internal::site_set_iterator_base< T , depth1st_piter< T > >::p_ [protected, inherited]

The psite designated by this iterator.

Definition at line 75 of file site_set_iterator_base.hh.

Referenced by mln::morpho::tree::depth1st_piter< T >::next_(), and mln::morpho::tree::depth1st_piter< T >::skip_children().

template<typename T >
const T::function ::psite* mln::morpho::tree::depth1st_piter< T >::root_ [protected]

Definition at line 389 of file morpho/tree/data.hh.

Referenced by mln::morpho::tree::depth1st_piter< T >::start_().

const T * mln::internal::site_iterator_base< T , depth1st_piter< T > >::s_ [protected, inherited]
template<typename T >
std::deque<typename T::function ::psite> mln::morpho::tree::depth1st_piter< T >::stack_ [protected]