#include <multiple_size.hh>
Public Types | |
typedef Site_Proxy< void > | category |
typedef E | exact_t |
typedef S::site | site |
The associated site type (as a Site_Proxy). | |
typedef S | target |
The associated target type. | |
Public Member Functions | |
const C & | center () const |
The psite around which this iterator moves. | |
template<typename P> | |
void | center_at (const P &c) |
void | change_target (const S &s) |
Change the site set targeted by this iterator. | |
W::psite | compute_p_ () const |
Compute the current psite. | |
void | do_next_ () |
Go to the next point. | |
void | do_start_ () |
Start an iteration. | |
template<typename P> | |
void | init_ (const multiple_size< n, W, F > &w, const P &c) |
void | invalidate () |
void | invalidate_ () |
Invalidate the iterator. | |
bool | is_valid () const |
bool | is_valid_ () const |
Test the iterator validity. | |
template<typename P> | |
multiple_size_qiter (const multiple_size< n, W, F > &w, const P &c) | |
multiple_size_qiter () | |
void | next () |
Go to the next element. | |
void | next_ () |
Go to the next point. | |
const S::psite & | p_hook_ () const |
Hook to the current location. | |
const S & | site_set () const |
Give the site set (neighborhood or window) that this iterator browses. | |
void | start () |
void | start_ () |
Start an iteration. | |
const S::psite & | subj_ () |
This overriding is very useful: it adds a test to prevent getting an invalid iterator when its center has moved. | |
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). | |
E & | update () |
Warning: this method is an advanced tool provided for very special occasions; if you are a regular user, you should never use it! Calling this method forces this relative iterator to synchronize with its center when it has just moved and when the relative iterator still makes sense. | |
Protected Attributes | |
const C * | c_ |
A pointer to the center psite around which this iterator moves. | |
const S * | s_ |
The target. | |
Package Attributes | |
__pad0__:site_relative_iterator_base< multiple_size<n | |
F | |
self_ | super_ |
W | |
Private Types | |
typedef multiple_size_qiter< n, W, F > | self_ |
Private Member Functions | |
int | size_ () const |
Private Attributes | |
int | i_ |
Definition at line 135 of file multiple_size.hh.
typedef Site_Proxy<void> mln::Site_Proxy< E >::category [inherited] |
Reimplemented from mln::Proxy< E >.
Reimplemented in mln::Pseudo_Site< E >, mln::Pseudo_Site< mln::p_run_psite< P > >, mln::Pseudo_Site< mln::p_indexed_psite< S > >, mln::Pseudo_Site< mln::p_vertices_psite< G, F > >, mln::Pseudo_Site< mln::faces_psite< N, D, P > >, mln::Pseudo_Site< mln::complex_psite< D, G > >, mln::Pseudo_Site< mln::p_double_psite< S, Sp > >, and mln::Pseudo_Site< mln::p_edges_psite< G, F > >.
Definition at line 63 of file site_proxy.hh.
typedef E mln::Object< E >::exact_t [inherited] |
typedef multiple_size_qiter<n,W,F> mln::win::multiple_size_qiter< n, W, F >::self_ [private] |
Definition at line 139 of file multiple_size.hh.
typedef S ::site mln::internal::site_iterator_base< S, E >::site [inherited] |
typedef S mln::internal::site_iterator_base< S, E >::target [inherited] |
mln::win::multiple_size_qiter< n, W, F >::multiple_size_qiter | ( | ) | [inline] |
Definition at line 309 of file multiple_size.hh.
mln::win::multiple_size_qiter< n, W, F >::multiple_size_qiter | ( | const multiple_size< n, W, F > & | w, | |
const P & | c | |||
) | [inline] |
Definition at line 316 of file multiple_size.hh.
References mln::win::multiple_size_qiter< n, W, F >::init_().
const C & mln::internal::site_relative_iterator_base< S, E, C >::center | ( | ) | const [inline, inherited] |
The psite around which this iterator moves.
Definition at line 173 of file site_relative_iterator_base.hh.
References mln::internal::site_relative_iterator_base< S, E, C >::c_.
Referenced by mln::complex_window_bkd_piter< I, G, W >::center_at_(), mln::complex_window_fwd_piter< I, G, W >::center_at_(), mln::complex_neighborhood_bkd_piter< I, G, N >::center_at_(), mln::complex_neighborhood_fwd_piter< I, G, N >::center_at_(), mln::graph_window_if_piter< S, W, I >::compute_p_(), mln::complex_window_bkd_piter< I, G, W >::compute_p_(), mln::complex_window_fwd_piter< I, G, W >::compute_p_(), mln::complex_neighborhood_bkd_piter< I, G, N >::compute_p_(), and mln::complex_neighborhood_fwd_piter< I, G, N >::compute_p_().
void mln::internal::site_relative_iterator_base< S, E, C >::center_at | ( | const P & | c | ) | [inline, inherited] |
Definition at line 142 of file site_relative_iterator_base.hh.
References mln::internal::site_relative_iterator_base< S, E, C >::c_, mln::exact(), and mln::Site_Iterator< E >::invalidate().
Referenced by mln::win::multiple_size_qiter< n, W, F >::init_(), mln::win::multiple_qiter< W, F >::init_(), mln::graph_window_piter< S, W, I >::init_(), mln::graph_window_if_piter< S, W, I >::init_(), mln::dpsites_bkd_piter< V >::init_(), mln::dpsites_fwd_piter< V >::init_(), mln::complex_window_bkd_piter< I, G, W >::init_(), mln::complex_window_fwd_piter< I, G, W >::init_(), mln::complex_neighborhood_bkd_piter< I, G, N >::init_(), and mln::complex_neighborhood_fwd_piter< I, G, N >::init_().
void mln::internal::site_relative_iterator_base< S, E, C >::change_target | ( | const S & | s | ) | [inline, inherited] |
Change the site set targeted by this iterator.
Definition at line 208 of file site_relative_iterator_base.hh.
References mln::if_possible::change_target(), mln::Site_Iterator< E >::invalidate(), and mln::internal::site_iterator_base< S, E >::s_.
Referenced by mln::win::multiple_size_qiter< n, W, F >::init_(), mln::graph_window_piter< S, W, I >::init_(), mln::graph_window_if_piter< S, W, I >::init_(), mln::dpsites_bkd_piter< V >::init_(), mln::dpsites_fwd_piter< V >::init_(), mln::complex_window_bkd_piter< I, G, W >::init_(), mln::complex_window_fwd_piter< I, G, W >::init_(), mln::complex_neighborhood_bkd_piter< I, G, N >::init_(), and mln::complex_neighborhood_fwd_piter< I, G, N >::init_().
W::psite mln::win::multiple_size_qiter< n, W, F >::compute_p_ | ( | ) | const [inline] |
Compute the current psite.
Definition at line 369 of file multiple_size.hh.
References mln::internal::site_relative_iterator_base< S, E, C >::c_, and mln::internal::site_iterator_base< S, E >::s_.
void mln::win::multiple_size_qiter< n, W, F >::do_next_ | ( | ) | [inline] |
void mln::win::multiple_size_qiter< n, W, F >::do_start_ | ( | ) | [inline] |
void mln::win::multiple_size_qiter< n, W, F >::init_ | ( | const multiple_size< n, W, F > & | w, | |
const P & | c | |||
) | [inline] |
Definition at line 325 of file multiple_size.hh.
References mln::internal::site_relative_iterator_base< S, E, C >::center_at(), and mln::internal::site_relative_iterator_base< S, E, C >::change_target().
Referenced by mln::win::multiple_size_qiter< n, W, F >::multiple_size_qiter().
void mln::Site_Iterator< E >::invalidate | ( | ) | [inline, inherited] |
Definition at line 112 of file site_iterator.hh.
References mln::exact(), and mln::Site_Iterator< E >::is_valid().
Referenced by mln::internal::site_relative_iterator_base< S, E, C >::center_at(), 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(), and mln::morpho::tree::depth1st_piter< T >::start_().
void mln::win::multiple_size_qiter< n, W, F >::invalidate_ | ( | ) | [inline] |
bool mln::Site_Iterator< E >::is_valid | ( | ) | const [inline, inherited] |
Definition at line 101 of file site_iterator.hh.
References mln::exact().
Referenced by mln::graph_window_piter< S, W, I >::init_(), mln::graph_window_if_piter< S, W, I >::init_(), mln::complex_window_bkd_piter< I, G, W >::init_(), mln::complex_window_fwd_piter< I, G, W >::init_(), mln::complex_neighborhood_bkd_piter< I, G, N >::init_(), mln::complex_neighborhood_fwd_piter< I, G, N >::init_(), mln::Site_Iterator< E >::invalidate(), mln::Site_Iterator< E >::next(), mln::internal::site_relative_iterator_base< S, E, C >::next_(), mln::p_graph_piter< S, I >::next_(), mln::internal::p_complex_piter_base_< I, S, P, E >::next_(), mln::morpho::tree::depth1st_piter< T >::next_(), mln::internal::p_complex_piter_base_< I, S, P, E >::p_complex_piter_base_(), mln::p_graph_piter< S, I >::p_graph_piter(), mln::internal::site_relative_iterator_base< S, E, C >::start_(), mln::p_graph_piter< S, I >::start_(), mln::internal::p_complex_piter_base_< I, S, P, E >::start_(), mln::internal::site_relative_iterator_base< S, E, C >::update(), mln::p_graph_piter< S, I >::update_(), and mln::internal::p_complex_piter_base_< I, S, P, E >::update_().
bool mln::win::multiple_size_qiter< n, W, F >::is_valid_ | ( | ) | const [inline] |
Test the iterator validity.
Definition at line 337 of file multiple_size.hh.
References mln::win::multiple_size_qiter< n, W, F >::size_().
void mln::Site_Iterator< E >::next | ( | ) | [inline, inherited] |
Go to the next element.
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_().
void mln::internal::site_relative_iterator_base< S, E, C >::next_ | ( | ) | [inline, inherited] |
Go to the next point.
Definition at line 163 of file site_relative_iterator_base.hh.
References mln::exact(), and mln::Site_Iterator< E >::is_valid().
const S::psite & mln::internal::site_relative_iterator_base< S, E, C >::p_hook_ | ( | ) | const [inline, inherited] |
const S & mln::internal::site_relative_iterator_base< S, E, C >::site_set | ( | ) | const [inline, inherited] |
Give the site set (neighborhood or window) that this iterator browses.
Definition at line 182 of file site_relative_iterator_base.hh.
References mln::internal::site_iterator_base< S, E >::s_.
Referenced by mln::complex_window_bkd_piter< I, G, W >::compute_p_(), mln::complex_window_fwd_piter< I, G, W >::compute_p_(), mln::complex_neighborhood_bkd_piter< I, G, N >::compute_p_(), and mln::complex_neighborhood_fwd_piter< I, G, N >::compute_p_().
int mln::win::multiple_size_qiter< n, W, F >::size_ | ( | ) | const [inline, private] |
Definition at line 377 of file multiple_size.hh.
References mln::internal::site_iterator_base< S, E >::s_.
Referenced by mln::win::multiple_size_qiter< n, W, F >::is_valid_().
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().
void mln::internal::site_relative_iterator_base< S, E, C >::start_ | ( | ) | [inline, inherited] |
Start an iteration.
Definition at line 153 of file site_relative_iterator_base.hh.
References mln::exact(), and mln::Site_Iterator< E >::is_valid().
const S::psite & mln::internal::site_relative_iterator_base< S, E, C >::subj_ | ( | ) | [inline, inherited] |
This overriding is very useful: it adds a test to prevent getting an invalid iterator when its center has moved.
Some sub-classes provide an update() method for the client to say that she really want to read the iterator just after the center has changed.
Reimplemented from mln::internal::site_iterator_base< S, E >.
Definition at line 191 of file site_relative_iterator_base.hh.
References mln::exact().
const S *& mln::internal::site_iterator_base< S, E >::target_ | ( | ) | [inline, inherited] |
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().
E & mln::internal::site_relative_iterator_base< S, E, C >::update | ( | ) | [inline, inherited] |
Warning: this method is an advanced tool provided for very special occasions; if you are a regular user, you should never use it! Calling this method forces this relative iterator to synchronize with its center when it has just moved and when the relative iterator still makes sense.
Definition at line 221 of file site_relative_iterator_base.hh.
References mln::internal::site_relative_iterator_base< S, E, C >::c_, mln::exact(), mln::Site_Iterator< E >::is_valid(), and mln::internal::site_iterator_base< S, E >::s_.
mln::win::multiple_size_qiter< n, W, F >::__pad0__ [package] |
Definition at line 140 of file multiple_size.hh.
const C* mln::internal::site_relative_iterator_base< S, E, C >::c_ [protected, inherited] |
A pointer to the center psite around which this iterator moves.
Definition at line 108 of file site_relative_iterator_base.hh.
Referenced by mln::internal::site_relative_iterator_base< S, E, C >::center(), mln::internal::site_relative_iterator_base< S, E, C >::center_at(), 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::graph_window_if_piter< S, W, I >::do_next_(), mln::graph_window_if_piter< S, W, I >::do_start_(), and mln::internal::site_relative_iterator_base< S, E, C >::update().
mln::win::multiple_size_qiter< n, W, F >::F [package] |
Definition at line 140 of file multiple_size.hh.
int mln::win::multiple_size_qiter< n, W, F >::i_ [private] |
Definition at line 167 of file multiple_size.hh.
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().
self_ mln::win::multiple_size_qiter< n, W, F >::super_ [package] |
Reimplemented from mln::internal::site_iterator_base< S, E >.
Definition at line 140 of file multiple_size.hh.
mln::win::multiple_size_qiter< n, W, F >::W [package] |
Definition at line 140 of file multiple_size.hh.