#include <multiple_size.hh>
Public Types | |
typedef Site_Proxy< void > | category |
typedef multiple_size_qiter< n, W, F > | exact_t |
typedef multiple_size< n, W, F > ::site | site |
The associated site type (as a Site_Proxy). | |
typedef multiple_size< n, W, F > | target |
The associated target type. | |
Public Member Functions | |
const typename multiple_size < n, W, F >::psite & | center () const |
The psite around which this iterator moves. | |
void | center_at (const P &c) |
void | change_target (const multiple_size< n, 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. | |
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 multiple_size< n, W, F > ::psite & | p_hook_ () const |
Hook to the current location. | |
const multiple_size< n, 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_size< n, 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_size< n, W, F > *& | target_ () |
Give the target address. It might be 0. | |
const multiple_size< n, W, F > ::site & | to_site () const |
Return the site it points to (as a Site_Proxy). | |
multiple_size_qiter< n, 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 typename multiple_size < n, W, F >::psite * | c_ |
A pointer to the center psite around which this iterator moves. | |
const multiple_size< n, W, F > * | s_ |
The target. | |
Private Types | |
typedef multiple_size_qiter< n, W, F > | self_ |
typedef internal::site_relative_iterator_base < multiple_size< n, W, F > , self_ > | super_ |
Private Member Functions | |
int | size_ () const |
Private Attributes | |
int | i_ |
Definition at line 136 of file multiple_size.hh.
typedef Site_Proxy<void> mln::Site_Proxy< multiple_size_qiter< n, W, F > >::category [inherited] |
Reimplemented from mln::Proxy< multiple_size_qiter< n, W, F > >.
Definition at line 63 of file site_proxy.hh.
typedef multiple_size_qiter< n, W, F > mln::Object< multiple_size_qiter< n, W, F > >::exact_t [inherited] |
typedef multiple_size_qiter<n,W,F> mln::win::multiple_size_qiter< n, W, F >::self_ [private] |
Definition at line 140 of file multiple_size.hh.
typedef multiple_size< n, W, F > ::site mln::internal::site_iterator_base< multiple_size< n, W, F > , multiple_size_qiter< n, W, F > >::site [inherited] |
The associated site type (as a Site_Proxy).
Definition at line 64 of file site_iterator_base.hh.
typedef internal::site_relative_iterator_base< multiple_size<n,W,F>, self_ > mln::win::multiple_size_qiter< n, W, F >::super_ [private] |
Reimplemented from mln::internal::site_iterator_base< multiple_size< n, W, F >, multiple_size_qiter< n, W, F > >.
Definition at line 141 of file multiple_size.hh.
typedef multiple_size< n, W, F > mln::internal::site_iterator_base< multiple_size< n, W, F > , multiple_size_qiter< n, W, F > >::target [inherited] |
The associated target type.
Definition at line 61 of file site_iterator_base.hh.
mln::win::multiple_size_qiter< n, W, F >::multiple_size_qiter | ( | ) | [inline] |
Definition at line 311 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 318 of file multiple_size.hh.
References mln::win::multiple_size_qiter< n, W, F >::init_().
const typename multiple_size< n, W, F > ::psite & mln::internal::site_relative_iterator_base< multiple_size< n, W, F > , multiple_size_qiter< n, W, F > , typename multiple_size< n, W, F > ::psite >::center | ( | ) | const [inherited] |
The psite around which this iterator moves.
void mln::internal::site_relative_iterator_base< multiple_size< n, W, F > , multiple_size_qiter< n, W, F > , typename multiple_size< n, W, F > ::psite >::center_at | ( | const P & | c | ) | [inherited] |
Referenced by mln::win::multiple_size_qiter< n, W, F >::init_().
void mln::internal::site_relative_iterator_base< multiple_size< n, W, F > , multiple_size_qiter< n, W, F > , typename multiple_size< n, W, F > ::psite >::change_target | ( | const multiple_size< n, W, F > & | s | ) | [inherited] |
Change the site set targeted by this iterator.
Referenced by mln::win::multiple_size_qiter< n, W, F >::init_().
W::psite mln::win::multiple_size_qiter< n, W, F >::compute_p_ | ( | ) | const [inline] |
Compute the current psite.
Definition at line 371 of file multiple_size.hh.
void mln::win::multiple_size_qiter< n, W, F >::do_next_ | ( | ) | [inline] |
Go to the next point.
Definition at line 363 of file multiple_size.hh.
void mln::win::multiple_size_qiter< n, W, F >::do_start_ | ( | ) | [inline] |
Start an iteration.
Definition at line 355 of file multiple_size.hh.
void mln::win::multiple_size_qiter< n, W, F >::init_ | ( | const multiple_size< n, W, F > & | w, | |
const P & | c | |||
) | [inline] |
Definition at line 327 of file multiple_size.hh.
References mln::internal::site_relative_iterator_base< multiple_size< n, W, F >, multiple_size_qiter< n, W, F > >::center_at(), and mln::internal::site_relative_iterator_base< multiple_size< n, W, F >, multiple_size_qiter< n, W, F > >::change_target().
Referenced by mln::win::multiple_size_qiter< n, W, F >::multiple_size_qiter().
void mln::Site_Iterator< multiple_size_qiter< n, W, F > >::invalidate | ( | ) | [inherited] |
void mln::win::multiple_size_qiter< n, W, F >::invalidate_ | ( | ) | [inline] |
Invalidate the iterator.
Definition at line 347 of file multiple_size.hh.
bool mln::Site_Iterator< multiple_size_qiter< n, W, F > >::is_valid | ( | ) | const [inherited] |
bool mln::win::multiple_size_qiter< n, W, F >::is_valid_ | ( | ) | const [inline] |
Test the iterator validity.
Definition at line 339 of file multiple_size.hh.
References mln::win::multiple_size_qiter< n, W, F >::size_().
void mln::Site_Iterator< multiple_size_qiter< n, W, F > >::next | ( | ) | [inherited] |
Go to the next element.
void mln::internal::site_relative_iterator_base< multiple_size< n, W, F > , multiple_size_qiter< n, W, F > , typename multiple_size< n, W, F > ::psite >::next_ | ( | ) | [inherited] |
Go to the next point.
const multiple_size< n, W, F > ::psite& mln::internal::site_relative_iterator_base< multiple_size< n, W, F > , multiple_size_qiter< n, W, F > , typename multiple_size< n, W, F > ::psite >::p_hook_ | ( | ) | const [inherited] |
Hook to the current location.
const multiple_size< n, W, F > & mln::internal::site_relative_iterator_base< multiple_size< n, W, F > , multiple_size_qiter< n, W, F > , typename multiple_size< n, W, F > ::psite >::site_set | ( | ) | const [inherited] |
Give the site set (neighborhood or window) that this iterator browses.
int mln::win::multiple_size_qiter< n, W, F >::size_ | ( | ) | const [inline, private] |
Definition at line 379 of file multiple_size.hh.
References mln::internal::site_iterator_base< multiple_size< n, W, F >, multiple_size_qiter< n, W, F > >::s_.
Referenced by mln::win::multiple_size_qiter< n, W, F >::is_valid_().
void mln::Site_Iterator< multiple_size_qiter< n, W, F > >::start | ( | ) | [inherited] |
void mln::internal::site_relative_iterator_base< multiple_size< n, W, F > , multiple_size_qiter< n, W, F > , typename multiple_size< n, W, F > ::psite >::start_ | ( | ) | [inherited] |
Start an iteration.
const multiple_size< n, W, F > ::psite& mln::internal::site_relative_iterator_base< multiple_size< n, W, F > , multiple_size_qiter< n, W, F > , typename multiple_size< n, W, F > ::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< multiple_size< n, W, F >, multiple_size_qiter< n, W, F > >.
const multiple_size< n, W, F > *& mln::internal::site_iterator_base< multiple_size< n, W, F > , multiple_size_qiter< n, W, F > >::target_ | ( | ) | [inherited] |
Give the target address. It might be 0.
const multiple_size< n, W, F > ::site& mln::internal::site_iterator_base< multiple_size< n, W, F > , multiple_size_qiter< n, W, F > >::to_site | ( | ) | const [inherited] |
Return the site it points to (as a Site_Proxy).
multiple_size_qiter< n, W, F > & mln::internal::site_relative_iterator_base< multiple_size< n, W, F > , multiple_size_qiter< n, W, F > , typename multiple_size< n, W, F > ::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 typename multiple_size< n, W, F > ::psite * mln::internal::site_relative_iterator_base< multiple_size< n, W, F > , multiple_size_qiter< n, W, F > , typename multiple_size< n, W, F > ::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.
int mln::win::multiple_size_qiter< n, W, F >::i_ [private] |
Definition at line 168 of file multiple_size.hh.
const multiple_size< n, W, F > * mln::internal::site_iterator_base< multiple_size< n, W, F > , multiple_size_qiter< n, W, F > >::s_ [protected, inherited] |
The target.
Definition at line 90 of file site_iterator_base.hh.
Referenced by mln::win::multiple_size_qiter< n, W, F >::size_().