mln::p_graph_piter< S, I > Class Template Reference

Generic iterator on point sites of a mln::S. More...

#include <p_graph_piter.hh>

Inheritance diagram for mln::p_graph_piter< S, I >:

Inheritance graph

List of all members.

Public Types

typedef Site_Proxy< void > category
typedef E exact_t
typedef S pset
 The associated site set type.
typedef S::site site
 The associated site type (as a Site_Proxy).
typedef S target
 The associated target type.

Public Member Functions

void change_target (const S &s)
 Change the site set targeted by this iterator.
void change_target_ (const S &s)
 Part of the change_target specific to the exact iterator type, empty by default (to be overloaded).
const S::graph_t & graph () const
 Return the graph associated to the target S.
const iterhook_elt_ () const
 Return the underlying graph element iterator.
unsigned id () const
 Return the graph element id.
void invalidate ()
bool is_valid () const
 mln_q_subject (iter) element()
 Return the underlying graph element.
void next ()
 Go to the next element.
const S::psite & p_hook_ () const
 Hook to the current location.
const S & site_set () const
 Give the site set that this iterator browses.
void start ()
const S::psite & subj_ ()
 Give the subject (required by the Proxy interface).
const S *& target_ ()
 Give the target address. It might be 0.
const S::site & to_site () const
 Return the site it points to (as a Site_Proxy).
void invalidate_ ()
 Invalidate the iterator.
bool is_valid_ () const
 Manipulation.
void next_ ()
 Go to the next point.
void start_ ()
 Start an iteration.
 p_graph_piter (const S &pv)
 p_graph_piter ()
 Constructors.

Protected Attributes

S::psite p_
 The psite designated by this iterator.
const S * s_
 The target.

Package Types

typedef I iter

Package Attributes

 __pad0__:site_set_iterator_base< S
self_ super_

Private Types

typedef p_graph_piter< S, I > self_

Private Member Functions

void update_ ()
 Update the psite corresponding to this iterator.

Private Attributes

iter iter_
 The underlying graph iterator.


Detailed Description

template<typename S, typename I>
class mln::p_graph_piter< S, I >

Generic iterator on point sites of a mln::S.

Definition at line 55 of file p_graph_piter.hh.


Member Typedef Documentation

template<typename E>
typedef Site_Proxy<void> mln::Site_Proxy< E >::category [inherited]

template<typename E>
typedef E mln::Object< E >::exact_t [inherited]

Definition at line 172 of file object.hh.

template<typename S, typename I>
typedef I mln::p_graph_piter< S, I >::iter [package]

Definition at line 61 of file p_graph_piter.hh.

template<typename S, typename E>
typedef S mln::internal::site_set_iterator_base< S, E >::pset [inherited]

The associated site set type.

Definition at line 57 of file site_set_iterator_base.hh.

template<typename S, typename I>
typedef p_graph_piter<S,I> mln::p_graph_piter< S, I >::self_ [private]

Definition at line 59 of file p_graph_piter.hh.

template<typename S, typename E>
typedef S ::site mln::internal::site_iterator_base< S, E >::site [inherited]

The associated site type (as a Site_Proxy).

Definition at line 64 of file site_iterator_base.hh.

template<typename S, typename E>
typedef S mln::internal::site_iterator_base< S, E >::target [inherited]

The associated target type.

Definition at line 61 of file site_iterator_base.hh.


Constructor & Destructor Documentation

template<typename S, typename I>
mln::p_graph_piter< S, I >::p_graph_piter (  )  [inline]

Constructors.

Definition at line 151 of file p_graph_piter.hh.

References mln::Site_Iterator< E >::is_valid().

template<typename S, typename I>
mln::p_graph_piter< S, I >::p_graph_piter ( const S &  pv  )  [inline]


Member Function Documentation

template<typename S, typename E>
void mln::internal::site_set_iterator_base< S, E >::change_target ( const S &  s  )  [inline, inherited]

template<typename S, typename E>
void mln::internal::site_set_iterator_base< S, E >::change_target_ ( const S &  s  )  [inline, inherited]

template<typename S, typename I>
const S::graph_t & mln::p_graph_piter< S, I >::graph (  )  const [inline]

Return the graph associated to the target S.

Definition at line 212 of file p_graph_piter.hh.

References mln::internal::site_set_iterator_base< S, E >::site_set().

template<typename S, typename I>
const I & mln::p_graph_piter< S, I >::hook_elt_ (  )  const [inline]

Return the underlying graph element iterator.

Definition at line 220 of file p_graph_piter.hh.

References mln::p_graph_piter< S, I >::iter_.

Referenced by mln::graph_window_piter< S, W, I >::center_at_(), and mln::graph_window_if_piter< S, W, I >::center_at_().

template<typename S, typename I>
unsigned mln::p_graph_piter< S, I >::id (  )  const [inline]

Return the graph element id.

Definition at line 228 of file p_graph_piter.hh.

References mln::p_graph_piter< S, I >::iter_.

template<typename E>
void mln::Site_Iterator< E >::invalidate (  )  [inline, inherited]

template<typename S, typename I>
void mln::p_graph_piter< S, I >::invalidate_ (  )  [inline]

Invalidate the iterator.

Definition at line 176 of file p_graph_piter.hh.

References mln::p_graph_piter< S, I >::iter_.

template<typename E>
bool mln::Site_Iterator< E >::is_valid (  )  const [inline, inherited]

template<typename S, typename I>
bool mln::p_graph_piter< S, I >::is_valid_ (  )  const [inline]

Manipulation.

Test if the iterator is valid.

Definition at line 168 of file p_graph_piter.hh.

References mln::p_graph_piter< S, I >::iter_.

template<typename S, typename I>
mln::p_graph_piter< S, I >::mln_q_subject ( iter   ) 

Return the underlying graph element.

template<typename E>
void mln::Site_Iterator< E >::next (  )  [inline, 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.

Definition at line 92 of file site_iterator.hh.

References mln::exact(), and mln::Site_Iterator< E >::is_valid().

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

template<typename S, typename I>
void mln::p_graph_piter< S, I >::next_ (  )  [inline]

template<typename S, typename E>
const S::psite & mln::internal::site_set_iterator_base< S, E >::p_hook_ (  )  const [inline, inherited]

Hook to the current location.

Definition at line 125 of file site_set_iterator_base.hh.

template<typename S, typename E>
const S & mln::internal::site_set_iterator_base< S, E >::site_set (  )  const [inline, inherited]

template<typename E>
void mln::Site_Iterator< E >::start (  )  [inline, inherited]

Reimplemented in mln::hexa_fwd_piter_< S >.

Definition at line 123 of file site_iterator.hh.

References mln::exact().

template<typename S, typename I>
void mln::p_graph_piter< S, I >::start_ (  )  [inline]

template<typename S, typename E>
const S::psite & mln::internal::site_iterator_base< S, E >::subj_ (  )  [inline, inherited]

Give the subject (required by the Proxy interface).

Reimplemented in mln::internal::site_relative_iterator_base< S, E, C >, mln::internal::site_relative_iterator_base< N, mln::complex_neighborhood_fwd_piter< I, G, N > >, mln::internal::site_relative_iterator_base< V, mln::dpsites_bkd_piter< V > >, mln::internal::site_relative_iterator_base< W, mln::graph_window_if_piter< S, W, I > >, mln::internal::site_relative_iterator_base< mln::mixed_neighb< W >, mln::neighb_fwd_niter< W >, mln::mixed_neighb< W >::psite >, mln::internal::site_relative_iterator_base< V, mln::dpsites_fwd_piter< V > >, mln::internal::site_relative_iterator_base< mln::win::multiple< W, F >, mln::win::multiple_qiter< W, F > >, mln::internal::site_relative_iterator_base< W, mln::complex_window_bkd_piter< I, G, W > >, mln::internal::site_relative_iterator_base< N, mln::complex_neighborhood_bkd_piter< I, G, N > >, mln::internal::site_relative_iterator_base< mln::neighb< W >, mln::neighb_fwd_niter< W >, mln::neighb< W >::psite >, mln::internal::site_relative_iterator_base< mln::win::multiple_size< n, W, F >, mln::win::multiple_size_qiter< n, W, F > >, mln::internal::site_relative_iterator_base< W, mln::graph_window_piter< S, W, I >, W::center_t >, mln::internal::site_relative_iterator_base< N, E, N::psite >, mln::internal::site_relative_iterator_base< W, mln::complex_window_fwd_piter< I, G, W > >, mln::internal::site_relative_iterator_base< mln::mixed_neighb< W >, mln::neighb_bkd_niter< W >, mln::mixed_neighb< W >::psite >, and mln::internal::site_relative_iterator_base< mln::neighb< W >, mln::neighb_bkd_niter< W >, mln::neighb< W >::psite >.

Definition at line 119 of file site_iterator_base.hh.

References mln::exact().

template<typename S, typename E>
const S *& mln::internal::site_iterator_base< S, E >::target_ (  )  [inline, inherited]

Give the target address. It might be 0.

Definition at line 127 of file site_iterator_base.hh.

template<typename S, typename E>
const S::site & mln::internal::site_iterator_base< S, E >::to_site (  )  const [inline, inherited]

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

Definition at line 110 of file site_iterator_base.hh.

References mln::exact().

template<typename S, typename I>
void mln::p_graph_piter< S, I >::update_ (  )  [inline, private]


Member Data Documentation

template<typename S, typename I>
mln::p_graph_piter< S, I >::__pad0__ [package]

Definition at line 60 of file p_graph_piter.hh.

template<typename S, typename I>
iter mln::p_graph_piter< S, I >::iter_ [private]

template<typename S, typename E>
S ::psite mln::internal::site_set_iterator_base< S, E >::p_ [protected, inherited]

The psite designated by this iterator.

Definition at line 75 of file site_set_iterator_base.hh.

Referenced by mln::p_indexed_bkd_piter< S >::index(), mln::p_indexed_fwd_piter< S >::index(), mln::p_run_bkd_piter_< P >::invalidate_(), mln::p_run_fwd_piter_< P >::invalidate_(), mln::p_indexed_bkd_piter< S >::invalidate_(), mln::p_indexed_fwd_piter< S >::invalidate_(), mln::box_runstart_piter< P >::invalidate_(), mln::box_runend_piter< P >::invalidate_(), mln::box_bkd_piter_< P >::invalidate_(), mln::box_fwd_piter_< P >::invalidate_(), mln::p_run_bkd_piter_< P >::is_valid_(), mln::p_run_fwd_piter_< P >::is_valid_(), mln::p_indexed_bkd_piter< S >::is_valid_(), mln::p_indexed_fwd_piter< S >::is_valid_(), mln::box_runstart_piter< P >::is_valid_(), mln::box_runend_piter< P >::is_valid_(), mln::box_bkd_piter_< P >::is_valid_(), mln::box_fwd_piter_< P >::is_valid_(), mln::p_transformed_piter< Pi, S, F >::next_(), mln::p_run_bkd_piter_< P >::next_(), mln::p_run_fwd_piter_< P >::next_(), mln::p_double_piter< S, I1, I2 >::next_(), mln::p_centered_piter< W >::next_(), mln::p_indexed_bkd_piter< S >::next_(), mln::p_indexed_fwd_piter< S >::next_(), mln::morpho::tree::depth1st_piter< T >::next_(), mln::box_runstart_piter< P >::next_(), mln::box_runend_piter< P >::next_(), mln::box_bkd_piter_< P >::next_(), mln::box_fwd_piter_< P >::next_(), mln::p_double_piter< S, I1, I2 >::progress_(), mln::morpho::tree::depth1st_piter< T >::skip_children(), mln::p_transformed_piter< Pi, S, F >::start_(), mln::p_run_bkd_piter_< P >::start_(), mln::p_run_fwd_piter_< P >::start_(), mln::p_double_piter< S, I1, I2 >::start_(), mln::p_centered_piter< W >::start_(), mln::p_indexed_bkd_piter< S >::start_(), mln::p_indexed_fwd_piter< S >::start_(), mln::box_runstart_piter< P >::start_(), mln::box_runend_piter< P >::start_(), mln::box_bkd_piter_< P >::start_(), mln::box_fwd_piter_< P >::start_(), mln::p_graph_piter< S, I >::update_(), and mln::internal::p_complex_piter_base_< I, S, P, E >::update_().

template<typename S, typename E>
const S* mln::internal::site_iterator_base< S, E >::s_ [protected, inherited]

The target.

Reimplemented in mln::graph_window_piter< S, W, I >.

Definition at line 90 of file site_iterator_base.hh.

Referenced by mln::internal::site_set_iterator_base< S, E >::change_target(), mln::internal::site_relative_iterator_base< S, E, C >::change_target(), mln::internal::piter_adaptor_< Pi, S, E >::change_target(), mln::p_transformed_piter< Pi, S, F >::change_target(), mln::win::multiple_size_qiter< n, W, F >::compute_p_(), mln::win::multiple_qiter< W, F >::compute_p_(), mln::dpsites_bkd_piter< V >::compute_p_(), mln::dpsites_fwd_piter< V >::compute_p_(), mln::dpsites_bkd_piter< V >::do_start_(), mln::p_run_fwd_piter_< P >::invalidate_(), mln::p_indexed_fwd_piter< S >::invalidate_(), mln::dpsites_fwd_piter< V >::invalidate_(), mln::box_runstart_piter< P >::invalidate_(), mln::box_runend_piter< P >::invalidate_(), mln::box_bkd_piter_< P >::invalidate_(), mln::box_fwd_piter_< P >::invalidate_(), mln::p_run_bkd_piter_< P >::is_valid_(), mln::p_run_fwd_piter_< P >::is_valid_(), mln::p_indexed_bkd_piter< S >::is_valid_(), mln::p_indexed_fwd_piter< S >::is_valid_(), mln::dpsites_fwd_piter< V >::is_valid_(), mln::box_runstart_piter< P >::is_valid_(), mln::box_runend_piter< P >::is_valid_(), mln::box_bkd_piter_< P >::is_valid_(), mln::box_fwd_piter_< P >::is_valid_(), mln::p_transformed_piter< Pi, S, F >::next_(), mln::p_if_piter_< Pi, S, F >::next_(), mln::morpho::tree::depth1st_piter< T >::next_(), mln::box_runstart_piter< P >::next_(), mln::box_runend_piter< P >::next_(), mln::box_bkd_piter_< P >::next_(), mln::box_fwd_piter_< P >::next_(), mln::p_double_piter< S, I1, I2 >::progress_(), mln::box_runstart_piter< P >::run_length(), mln::box_runend_piter< P >::run_length(), mln::internal::site_set_iterator_base< S, E >::site_set(), mln::internal::site_relative_iterator_base< S, E, C >::site_set(), mln::win::multiple_size_qiter< n, W, F >::size_(), mln::morpho::tree::depth1st_piter< T >::skip_children(), mln::p_transformed_piter< Pi, S, F >::start_(), mln::p_run_bkd_piter_< P >::start_(), mln::p_if_piter_< Pi, S, F >::start_(), mln::p_double_piter< S, I1, I2 >::start_(), mln::p_indexed_bkd_piter< S >::start_(), mln::morpho::tree::depth1st_piter< T >::start_(), mln::box_runstart_piter< P >::start_(), mln::box_runend_piter< P >::start_(), mln::box_bkd_piter_< P >::start_(), mln::box_fwd_piter_< P >::start_(), and mln::internal::site_relative_iterator_base< S, E, C >::update().

template<typename S, typename I>
self_ mln::p_graph_piter< S, I >::super_ [package]

Reimplemented from mln::internal::site_iterator_base< S, E >.

Definition at line 60 of file p_graph_piter.hh.


Generated on Sun Apr 25 01:56:28 2010 for Milena (Olena) by  doxygen 1.5.6