#include <mixed_neighb.hh>
Public Types | |
typedef Site_Proxy< void > | category |
typedef neighb_fwd_niter< W > | exact_t |
typedef mixed_neighb< W >::site | site |
The associated site type (as a Site_Proxy). | |
typedef mixed_neighb< W > | target |
The associated target type. | |
Public Member Functions | |
const mixed_neighb< W >::psite & | center () const |
The psite around which this iterator moves. | |
void | center_at (const P &c) |
void | change_target (const mixed_neighb< W > &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. | |
void | invalidate () |
void | invalidate_ () |
Invalidate the iterator. | |
bool | is_valid () const |
bool | is_valid_ () const |
Test the iterator validity. | |
template<typename P > | |
mixed_neighb_fwd_niter (const mixed_neighb< W > &nbh, const mln_target(W)&nbh_site_set, const P &c) | |
mixed_neighb_fwd_niter () | |
void | next () |
Go to the next element. | |
void | next_ () |
Go to the next point. | |
const mixed_neighb< W >::psite & | p_hook_ () const |
Hook to the current location. | |
const mixed_neighb< W > & | site_set () const |
Give the site set (neighborhood or window) that this iterator browses. | |
void | start () |
void | start_ () |
Start an iteration. | |
const mixed_neighb< W >::psite & | subj_ () |
This overriding is very useful: it adds a test to prevent getting an invalid iterator when its center has moved. | |
const mixed_neighb< W > *& | target_ () |
Give the target address. It might be 0. | |
const mixed_neighb< W >::site & | to_site () const |
Return the site it points to (as a Site_Proxy). | |
neighb_fwd_niter< W > & | 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 mixed_neighb< W >::psite * | c_ |
A pointer to the center psite around which this iterator moves. | |
W::fwd_qiter | i_ |
const mixed_neighb< W > * | s_ |
The target. | |
Private Types | |
typedef internal::neighb_niter_base< W, mixed_neighb< W >, typename W::fwd_qiter, neighb_fwd_niter < W > > | super_ |
Definition at line 109 of file mixed_neighb.hh.
typedef Site_Proxy<void> mln::Site_Proxy< neighb_fwd_niter< W > >::category [inherited] |
Reimplemented from mln::Proxy< neighb_fwd_niter< W > >.
Definition at line 63 of file site_proxy.hh.
typedef neighb_fwd_niter< W > mln::Object< neighb_fwd_niter< W > >::exact_t [inherited] |
typedef mixed_neighb< W > ::site mln::internal::site_iterator_base< mixed_neighb< W > , neighb_fwd_niter< W > >::site [inherited] |
The associated site type (as a Site_Proxy).
Definition at line 64 of file site_iterator_base.hh.
typedef internal::neighb_niter_base<W,mixed_neighb<W>, typename W ::fwd_qiter,neighb_fwd_niter<W> > mln::mixed_neighb_fwd_niter< W >::super_ [private] |
Definition at line 115 of file mixed_neighb.hh.
typedef mixed_neighb< W > mln::internal::site_iterator_base< mixed_neighb< W > , neighb_fwd_niter< W > >::target [inherited] |
The associated target type.
Definition at line 61 of file site_iterator_base.hh.
mln::mixed_neighb_fwd_niter< W >::mixed_neighb_fwd_niter | ( | ) | [inline] |
Definition at line 203 of file mixed_neighb.hh.
mln::mixed_neighb_fwd_niter< W >::mixed_neighb_fwd_niter | ( | const mixed_neighb< W > & | nbh, | |
const mln_target(W)& | nbh_site_set, | |||
const P & | c | |||
) | [inline] |
Definition at line 210 of file mixed_neighb.hh.
References mln::internal::neighb_niter_base< W, mixed_neighb< W >, W::fwd_qiter, neighb_fwd_niter< W > >::i_, and mln::internal::neighb_base< W, mixed_neighb< W > >::win().
const mixed_neighb< W >::psite & mln::internal::site_relative_iterator_base< mixed_neighb< W > , neighb_fwd_niter< W > , mixed_neighb< W >::psite >::center | ( | ) | const [inherited] |
The psite around which this iterator moves.
void mln::internal::site_relative_iterator_base< mixed_neighb< W > , neighb_fwd_niter< W > , mixed_neighb< W >::psite >::center_at | ( | const P & | c | ) | [inherited] |
void mln::internal::site_relative_iterator_base< mixed_neighb< W > , neighb_fwd_niter< W > , mixed_neighb< W >::psite >::change_target | ( | const mixed_neighb< W > & | s | ) | [inherited] |
Change the site set targeted by this iterator.
W ::psite mln::internal::neighb_niter_base< W, mixed_neighb< W > , W::fwd_qiter , neighb_fwd_niter< W > >::compute_p_ | ( | ) | const [inherited] |
Compute the current psite.
void mln::internal::neighb_niter_base< W, mixed_neighb< W > , W::fwd_qiter , neighb_fwd_niter< W > >::do_next_ | ( | ) | [inherited] |
Go to the next point.
void mln::internal::neighb_niter_base< W, mixed_neighb< W > , W::fwd_qiter , neighb_fwd_niter< W > >::do_start_ | ( | ) | [inherited] |
Start an iteration.
void mln::Site_Iterator< neighb_fwd_niter< W > >::invalidate | ( | ) | [inherited] |
void mln::internal::neighb_niter_base< W, mixed_neighb< W > , W::fwd_qiter , neighb_fwd_niter< W > >::invalidate_ | ( | ) | [inherited] |
Invalidate the iterator.
bool mln::Site_Iterator< neighb_fwd_niter< W > >::is_valid | ( | ) | const [inherited] |
bool mln::internal::neighb_niter_base< W, mixed_neighb< W > , W::fwd_qiter , neighb_fwd_niter< W > >::is_valid_ | ( | ) | const [inherited] |
Test the iterator validity.
void mln::Site_Iterator< neighb_fwd_niter< W > >::next | ( | ) | [inherited] |
Go to the next element.
void mln::internal::site_relative_iterator_base< mixed_neighb< W > , neighb_fwd_niter< W > , mixed_neighb< W >::psite >::next_ | ( | ) | [inherited] |
Go to the next point.
const mixed_neighb< W > ::psite& mln::internal::site_relative_iterator_base< mixed_neighb< W > , neighb_fwd_niter< W > , mixed_neighb< W >::psite >::p_hook_ | ( | ) | const [inherited] |
Hook to the current location.
const mixed_neighb< W > & mln::internal::site_relative_iterator_base< mixed_neighb< W > , neighb_fwd_niter< W > , mixed_neighb< W >::psite >::site_set | ( | ) | const [inherited] |
Give the site set (neighborhood or window) that this iterator browses.
void mln::Site_Iterator< neighb_fwd_niter< W > >::start | ( | ) | [inherited] |
void mln::internal::site_relative_iterator_base< mixed_neighb< W > , neighb_fwd_niter< W > , mixed_neighb< W >::psite >::start_ | ( | ) | [inherited] |
Start an iteration.
const mixed_neighb< W > ::psite& mln::internal::site_relative_iterator_base< mixed_neighb< W > , neighb_fwd_niter< W > , mixed_neighb< W >::psite >::subj_ | ( | ) | [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< mixed_neighb< W >, neighb_fwd_niter< W > >.
const mixed_neighb< W > *& mln::internal::site_iterator_base< mixed_neighb< W > , neighb_fwd_niter< W > >::target_ | ( | ) | [inherited] |
Give the target address. It might be 0.
const mixed_neighb< W > ::site& mln::internal::site_iterator_base< mixed_neighb< W > , neighb_fwd_niter< W > >::to_site | ( | ) | const [inherited] |
Return the site it points to (as a Site_Proxy).
neighb_fwd_niter< W > & mln::internal::site_relative_iterator_base< mixed_neighb< W > , neighb_fwd_niter< W > , mixed_neighb< W >::psite >::update | ( | ) | [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.
const mixed_neighb< W >::psite * mln::internal::site_relative_iterator_base< mixed_neighb< W > , neighb_fwd_niter< W > , mixed_neighb< W >::psite >::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.
W::fwd_qiter mln::internal::neighb_niter_base< W, mixed_neighb< W > , W::fwd_qiter , neighb_fwd_niter< W > >::i_ [protected, inherited] |
Definition at line 76 of file neighb_niter_base.hh.
Referenced by mln::mixed_neighb_fwd_niter< W >::mixed_neighb_fwd_niter().
const mixed_neighb< W > * mln::internal::site_iterator_base< mixed_neighb< W > , neighb_fwd_niter< W > >::s_ [protected, inherited] |
The target.
Definition at line 90 of file site_iterator_base.hh.