#include <multiple.hh>
Public Types | |
typedef Site_Proxy< void > | category |
typedef multiple_qiter< W, F > | exact_t |
typedef multiple< W, F >::site | site |
The associated site type (as a Site_Proxy). | |
typedef multiple< W, F > | target |
The associated target type. | |
Public Member Functions | |
const multiple< W, F >::psite & | center () const |
The psite around which this iterator moves. | |
void | center_at (const P &c) |
void | change_target (const multiple< W, F > &w) |
void | change_target (const multiple< W, F > &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 > | |
multiple_qiter (const multiple< W, F > &w, const P &c) | |
multiple_qiter () | |
void | next () |
Go to the next element. | |
void | next_ () |
Go to the next point. | |
const multiple< W, F >::psite & | p_hook_ () const |
Hook to the current location. | |
const multiple< W, F > & | site_set () const |
Give the site set (neighborhood or window) that this iterator browses. | |
void | start () |
void | start_ () |
Start an iteration. | |
const multiple< W, F >::psite & | subj_ () |
This overriding is very useful: it adds a test to prevent getting an invalid iterator when its center has moved. | |
const multiple< W, F > *& | target_ () |
Give the target address. It might be 0. | |
const multiple< W, F >::site & | to_site () const |
Return the site it points to (as a Site_Proxy). | |
multiple_qiter< W, F > & | 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 multiple< W, F >::psite * | c_ |
A pointer to the center psite around which this iterator moves. | |
const multiple< W, F > * | s_ |
The target. | |
Private Types | |
typedef multiple_qiter< W, F > | self_ |
typedef internal::site_relative_iterator_base < multiple< W, F >, self_ > | super_ |
Private Attributes | |
unsigned | i_ |
unsigned | size_ |
typedef Site_Proxy<void> mln::Site_Proxy< multiple_qiter< W, F > >::category [inherited] |
Reimplemented from mln::Proxy< multiple_qiter< W, F > >.
typedef multiple_qiter< W, F > mln::Object< multiple_qiter< W, F > >::exact_t [inherited] |
typedef multiple_qiter<W,F> mln::win::multiple_qiter< W, F >::self_ [private] |
typedef multiple< W, F > ::site mln::internal::site_iterator_base< multiple< W, F > , multiple_qiter< W, F > >::site [inherited] |
The associated site type (as a Site_Proxy).
typedef internal::site_relative_iterator_base< multiple<W,F>, self_ > mln::win::multiple_qiter< W, F >::super_ [private] |
Reimplemented from mln::internal::site_iterator_base< multiple< W, F >, multiple_qiter< W, F > >.
typedef multiple< W, F > mln::internal::site_iterator_base< multiple< W, F > , multiple_qiter< W, F > >::target [inherited] |
The associated target type.
mln::win::multiple_qiter< W, F >::multiple_qiter | ( | ) | [inline] |
mln::win::multiple_qiter< W, F >::multiple_qiter | ( | const multiple< W, F > & | w, | |
const P & | c | |||
) | [inline] |
const multiple< W, F > ::psite& mln::internal::site_relative_iterator_base< multiple< W, F > , multiple_qiter< W, F > >::center | ( | ) | const [inherited] |
The psite around which this iterator moves.
void mln::internal::site_relative_iterator_base< multiple< W, F > , multiple_qiter< W, F > >::center_at | ( | const P & | c | ) | [inherited] |
Referenced by mln::win::multiple_qiter< W, F >::multiple_qiter().
void mln::win::multiple_qiter< W, F >::change_target | ( | const multiple< W, F > & | w | ) | [inline] |
void mln::internal::site_relative_iterator_base< multiple< W, F > , multiple_qiter< W, F > >::change_target | ( | const multiple< W, F > & | s | ) | [inherited] |
Change the site set targeted by this iterator.
W::psite mln::win::multiple_qiter< W, F >::compute_p_ | ( | ) | const [inline] |
Compute the current psite.
void mln::win::multiple_qiter< W, F >::do_next_ | ( | ) | [inline] |
Go to the next point.
void mln::win::multiple_qiter< W, F >::do_start_ | ( | ) | [inline] |
Start an iteration.
void mln::Site_Iterator< multiple_qiter< W, F > >::invalidate | ( | ) | [inherited] |
void mln::win::multiple_qiter< W, F >::invalidate_ | ( | ) | [inline] |
Invalidate the iterator.
bool mln::Site_Iterator< multiple_qiter< W, F > >::is_valid | ( | ) | const [inherited] |
bool mln::win::multiple_qiter< W, F >::is_valid_ | ( | ) | const [inline] |
Test the iterator validity.
void mln::Site_Iterator< multiple_qiter< W, F > >::next | ( | ) | [inherited] |
Go to the next element.
void mln::internal::site_relative_iterator_base< multiple< W, F > , multiple_qiter< W, F > >::next_ | ( | ) | [inherited] |
Go to the next point.
const multiple< W, F > ::psite& mln::internal::site_relative_iterator_base< multiple< W, F > , multiple_qiter< W, F > >::p_hook_ | ( | ) | const [inherited] |
Hook to the current location.
const multiple< W, F > & mln::internal::site_relative_iterator_base< multiple< W, F > , multiple_qiter< W, F > >::site_set | ( | ) | const [inherited] |
Give the site set (neighborhood or window) that this iterator browses.
void mln::Site_Iterator< multiple_qiter< W, F > >::start | ( | ) | [inherited] |
void mln::internal::site_relative_iterator_base< multiple< W, F > , multiple_qiter< W, F > >::start_ | ( | ) | [inherited] |
Start an iteration.
const multiple< W, F > ::psite& mln::internal::site_relative_iterator_base< multiple< W, F > , multiple_qiter< W, F > >::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< multiple< W, F >, multiple_qiter< W, F > >.
const multiple< W, F > *& mln::internal::site_iterator_base< multiple< W, F > , multiple_qiter< W, F > >::target_ | ( | ) | [inherited] |
Give the target address. It might be 0.
const multiple< W, F > ::site& mln::internal::site_iterator_base< multiple< W, F > , multiple_qiter< W, F > >::to_site | ( | ) | const [inherited] |
Return the site it points to (as a Site_Proxy).
multiple_qiter< W, F > & mln::internal::site_relative_iterator_base< multiple< W, F > , multiple_qiter< W, F > >::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 multiple< W, F > ::psite* mln::internal::site_relative_iterator_base< multiple< W, F > , multiple_qiter< W, F > >::c_ [protected, inherited] |
A pointer to the center psite around which this iterator moves.
unsigned mln::win::multiple_qiter< W, F >::i_ [private] |
const multiple< W, F > * mln::internal::site_iterator_base< multiple< W, F > , multiple_qiter< W, F > >::s_ [protected, inherited] |
The target.
unsigned mln::win::multiple_qiter< W, F >::size_ [private] |