A generic forward iterator on points of subsets. More...
#include <hexa_piter.hh>
Public Types | |
typedef Site_Proxy< void > | category |
typedef hexa_fwd_piter_< S > | exact_t |
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. | |
hexa_fwd_piter_ (const box2d_h &subset) | |
Constructor from a subset of points. | |
void | invalidate () |
void | invalidate_ () |
Invalidate the iterator. | |
bool | is_valid () const |
bool | is_valid_ () const |
Test the iterator validity. | |
void | next () |
Go to the next element. | |
void | next_ () |
Go to the next point. | |
operator point2d_h () const | |
const S::psite & | p_hook_ () const |
Hook to the current location. | |
void | pi_change_target_ (const S &s) |
Change the site set targeted by pi_. | |
void | start () |
void | start () |
Start an iteration. | |
void | start_ () |
Start an iteration. | |
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). | |
Protected Attributes | |
S::fwd_piter | pi_ |
The adaptee site iterator. | |
const S * | s_ |
The target. | |
Private Types | |
typedef S::fwd_piter | adaptee_ |
typedef hexa_fwd_piter_< S > | self_ |
typedef internal::piter_adaptor_ < adaptee_, S, self_ > | super_ |
Private Attributes | |
box2d | box_adaptee_ |
point2d_h | p_ |
A generic forward iterator on points of subsets.
Parameter S
is a point set type; parameter F is a function from point to Boolean.
typedef S ::fwd_piter mln::hexa_fwd_piter_< S >::adaptee_ [private] |
typedef Site_Proxy<void> mln::Site_Proxy< hexa_fwd_piter_< S > >::category [inherited] |
Reimplemented from mln::Proxy< hexa_fwd_piter_< S > >.
typedef hexa_fwd_piter_< S > mln::Object< hexa_fwd_piter_< S > >::exact_t [inherited] |
typedef hexa_fwd_piter_<S> mln::hexa_fwd_piter_< S >::self_ [private] |
typedef S ::site mln::internal::site_iterator_base< S, hexa_fwd_piter_< S > >::site [inherited] |
The associated site type (as a Site_Proxy).
typedef internal::piter_adaptor_<adaptee_, S, self_> mln::hexa_fwd_piter_< S >::super_ [private] |
Reimplemented from mln::internal::site_iterator_base< S, hexa_fwd_piter_< S > >.
typedef S mln::internal::site_iterator_base< S, hexa_fwd_piter_< S > >::target [inherited] |
The associated target type.
mln::hexa_fwd_piter_< S >::hexa_fwd_piter_ | ( | const box2d_h & | subset | ) | [inline] |
Constructor from a subset of points.
References mln::hexa_fwd_piter_< S >::box_adaptee_, mln::box< P >::pmax(), and mln::box< P >::pmin().
void mln::internal::piter_adaptor_< S::fwd_piter , S, hexa_fwd_piter_< S > >::change_target | ( | const S & | s | ) | [inherited] |
Change the site set targeted by this iterator.
void mln::Site_Iterator< hexa_fwd_piter_< S > >::invalidate | ( | ) | [inherited] |
void mln::internal::piter_adaptor_< S::fwd_piter , S, hexa_fwd_piter_< S > >::invalidate_ | ( | ) | [inherited] |
Invalidate the iterator.
bool mln::Site_Iterator< hexa_fwd_piter_< S > >::is_valid | ( | ) | const [inherited] |
bool mln::internal::piter_adaptor_< S::fwd_piter , S, hexa_fwd_piter_< S > >::is_valid_ | ( | ) | const [inherited] |
Test the iterator validity.
void mln::Site_Iterator< hexa_fwd_piter_< S > >::next | ( | ) | [inherited] |
Go to the next element.
void mln::hexa_fwd_piter_< S >::next_ | ( | ) | [inline] |
Go to the next point.
Reimplemented from mln::internal::piter_adaptor_< S::fwd_piter, S, hexa_fwd_piter_< S > >.
References mln::hexa_fwd_piter_< S >::p_, and mln::internal::piter_adaptor_< S::fwd_piter, S, hexa_fwd_piter_< S > >::pi_.
mln::hexa_fwd_piter_< S >::operator point2d_h | ( | ) | const [inline] |
References mln::hexa_fwd_piter_< S >::p_.
const S ::psite& mln::internal::piter_adaptor_< S::fwd_piter , S, hexa_fwd_piter_< S > >::p_hook_ | ( | ) | const [inherited] |
Hook to the current location.
void mln::internal::piter_adaptor_< S::fwd_piter , S, hexa_fwd_piter_< S > >::pi_change_target_ | ( | const S & | s | ) | [inherited] |
Change the site set targeted by pi_.
This default impl is a no-op. This method might be overridden.
void mln::hexa_fwd_piter_< S >::start | ( | ) | [inline] |
Start an iteration.
References mln::hexa_fwd_piter_< S >::p_, and mln::internal::piter_adaptor_< S::fwd_piter, S, hexa_fwd_piter_< S > >::pi_.
void mln::Site_Iterator< hexa_fwd_piter_< S > >::start | ( | ) | [inherited] |
void mln::internal::piter_adaptor_< S::fwd_piter , S, hexa_fwd_piter_< S > >::start_ | ( | ) | [inherited] |
Start an iteration.
const S ::psite& mln::internal::site_iterator_base< S, hexa_fwd_piter_< S > >::subj_ | ( | ) | [inherited] |
Give the subject (required by the Proxy interface).
const S*& mln::internal::site_iterator_base< S, hexa_fwd_piter_< S > >::target_ | ( | ) | [inherited] |
Give the target address. It might be 0.
const S ::site& mln::internal::site_iterator_base< S, hexa_fwd_piter_< S > >::to_site | ( | ) | const [inherited] |
Return the site it points to (as a Site_Proxy).
box2d mln::hexa_fwd_piter_< S >::box_adaptee_ [private] |
Referenced by mln::hexa_fwd_piter_< S >::hexa_fwd_piter_().
point2d_h mln::hexa_fwd_piter_< S >::p_ [private] |
S::fwd_piter mln::internal::piter_adaptor_< S::fwd_piter , S, hexa_fwd_piter_< S > >::pi_ [protected, inherited] |
The adaptee site iterator.
Referenced by mln::hexa_fwd_piter_< S >::next_(), and mln::hexa_fwd_piter_< S >::start().
const S* mln::internal::site_iterator_base< S, hexa_fwd_piter_< S > >::s_ [protected, inherited] |
The target.