$extrastylesheet
Olena  User documentation 2.1
An Image Processing Platform
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
mln::internal::p_complex_piter_base_< I, S, P, E > Class Template Reference

#include <mln/core/internal/p_complex_piter_base.hh>

Public Member Functions

void change_target (const S &s)
void invalidate ()
bool is_valid () const
void next ()
const S::psite & p_hook_ () const
const S & site_set () const
void start ()
const S::psite & subj_ ()
const S *& target_ ()
const S::site & to_site () const
 p_complex_piter_base_ ()
 p_complex_piter_base_ (const S &pc)

Protected Attributes

iter iter_
S::psite p_
const S * s_

Public Types

typedef Site_Proxy< void > category
typedef E exact_t
typedef S pset
typedef S::site site
typedef S target
bool is_valid_ () const
void invalidate_ ()
void start_ ()
void next_ ()
void change_target_ (const S &pc)

Detailed Description

template<typename I, typename S, typename P, typename E>
class mln::internal::p_complex_piter_base_< I, S, P, E >

Factoring class for iterators on mln::p_complex.

Template Parameters
IThe type of the underlying complex iterator.
SThe associated site set type.
PThe associated site type.
EThe type exact type of the iterator.

Definition at line 60 of file p_complex_piter_base.hh.

Constructor & Destructor Documentation

template<typename I, typename S, typename P, typename E>
mln::internal::p_complex_piter_base_< I, S, P, E >::p_complex_piter_base_ ( )

Construction and assignment.

template<typename I, typename S, typename P, typename E>
mln::internal::p_complex_piter_base_< I, S, P, E >::p_complex_piter_base_ ( const S &  pc)

Member Function Documentation

template<typename S, typename E>
void mln::internal::site_set_iterator_base< S, E >::change_target ( const S &  s)
inherited

Change the site set targeted by this iterator.

Reimplemented in mln::p_double_piter< S, I1, I2 >.

template<typename I, typename S, typename P, typename E>
void mln::internal::p_complex_piter_base_< I, S, P, E >::change_target_ ( const S &  pc)

Change the target of the underlying complex iterator.

Reimplemented from mln::internal::site_set_iterator_base< S, E >.

template<typename E>
void mln::Site_Iterator< E >::invalidate ( )
inherited
template<typename I, typename S, typename P, typename E>
void mln::internal::p_complex_piter_base_< I, S, P, E >::invalidate_ ( )

Invalidate the iterator.

template<typename E>
bool mln::Site_Iterator< E >::is_valid ( ) const
inherited
template<typename I, typename S, typename P, typename E>
bool mln::internal::p_complex_piter_base_< I, S, P, E >::is_valid_ ( ) const

Manipulation.

INTERNAL_API Test if the iterator is valid.

template<typename E>
void mln::Site_Iterator< E >::next ( )
inherited

Go to the next element.

Warning
This is a final method; iterator classes should not re-defined this method. The actual "next" operation has to be defined through the next_ method.
Precondition
The iterator is valid.
template<typename I, typename S, typename P, typename E>
void mln::internal::p_complex_piter_base_< I, S, P, E >::next_ ( )

Go to the next point.

template<typename S, typename E>
const S ::psite& mln::internal::site_set_iterator_base< S, E >::p_hook_ ( ) const
inherited

INTERNAL_API Hook to the current location.

template<typename S, typename E>
const S& mln::internal::site_set_iterator_base< S, E >::site_set ( ) const
inherited

Give the site set that this iterator browses.

template<typename E>
void mln::Site_Iterator< E >::start ( )
inherited

Reimplemented in mln::hexa_fwd_piter_< S >.

template<typename I, typename S, typename P, typename E>
void mln::internal::p_complex_piter_base_< I, S, P, E >::start_ ( )

Start an iteration.

template<typename S, typename E>
const S ::psite& mln::internal::site_iterator_base< S, E >::subj_ ( )
inherited

INTERNAL_API Give the subject (required by the Proxy interface).

Reimplemented in mln::internal::site_relative_iterator_base< S, E, C >, mln::internal::site_relative_iterator_base< mixed_neighb< W >, neighb_bkd_niter< W >, mixed_neighb< W >::psite >, mln::internal::site_relative_iterator_base< W, graph_window_piter< S, W, I >, W::center_t >, mln::internal::site_relative_iterator_base< neighb< W >, neighb_bkd_niter< W >, neighb< W >::psite >, mln::internal::site_relative_iterator_base< multiple< W, F >, multiple_qiter< W, F > >, mln::internal::site_relative_iterator_base< V, dpsites_bkd_piter< V > >, mln::internal::site_relative_iterator_base< neighb< W >, neighb_fwd_niter< W >, neighb< W >::psite >, mln::internal::site_relative_iterator_base< W, graph_window_if_piter< S, W, I > >, mln::internal::site_relative_iterator_base< mixed_neighb< W >, neighb_fwd_niter< W >, mixed_neighb< W >::psite >, mln::internal::site_relative_iterator_base< W, complex_window_fwd_piter< I, G, W > >, mln::internal::site_relative_iterator_base< W, complex_window_bkd_piter< I, G, W > >, mln::internal::site_relative_iterator_base< N, E, N::psite >, mln::internal::site_relative_iterator_base< multiple_size< n, W, F >, multiple_size_qiter< n, W, F > >, mln::internal::site_relative_iterator_base< N, complex_neighborhood_bkd_piter< I, G, N > >, mln::internal::site_relative_iterator_base< N, complex_neighborhood_fwd_piter< I, G, N > >, and mln::internal::site_relative_iterator_base< V, dpsites_fwd_piter< V > >.

template<typename S, typename E>
const S*& mln::internal::site_iterator_base< S, E >::target_ ( )
inherited

Give the target address. It might be 0.

template<typename S, typename E>
const S ::site& mln::internal::site_iterator_base< S, E >::to_site ( ) const
inherited

Return the site it points to (as a Site_Proxy).

Member Data Documentation

template<typename I, typename S, typename P, typename E>
iter mln::internal::p_complex_piter_base_< I, S, P, E >::iter_
protected

The underlying complex iterator.

Definition at line 103 of file p_complex_piter_base.hh.

template<typename S, typename E>
S ::psite mln::internal::site_set_iterator_base< S, E >::p_
protectedinherited

The psite designated by this iterator.

Definition at line 80 of file site_set_iterator_base.hh.

template<typename S, typename E>
const S* mln::internal::site_iterator_base< S, E >::s_
protectedinherited

The target.

Definition at line 91 of file site_iterator_base.hh.

Member Typedef Documentation

template<typename E>
typedef Site_Proxy<void> mln::Site_Proxy< E >::category
inherited

Definition at line 68 of file site_proxy.hh.

template<typename E>
typedef E mln::Object< E >::exact_t
inherited

Definition at line 105 of file object.hh.

template<typename S, typename E>
typedef S mln::internal::site_set_iterator_base< S, E >::pset
inherited

The associated site set type.

Definition at line 60 of file site_set_iterator_base.hh.

template<typename S, typename E>
typedef S ::site mln::internal::site_iterator_base< S, E >::site
inherited

The associated site type (as a Site_Proxy).

Definition at line 64 of file site_iterator_base.hh.

template<typename S, typename E>
typedef S mln::internal::site_iterator_base< S, E >::target
inherited

The associated target type.

Definition at line 61 of file site_iterator_base.hh.