$extrastylesheet
Olena  User documentation 2.1
An Image Processing Platform
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
mln::win::multiple_size_qiter< n, W, F > Class Template Reference

#include <mln/win/multiple_size.hh>

Public Member Functions

 multiple_size_qiter ()
template<typename P >
 multiple_size_qiter (const multiple_size< n, W, F > &w, const P &c)
const typename multiple_size
< n, W, F >::psite
center () const
void center_at (const P &c)
void change_target (const multiple_size< n, W, F > &s)
W::psite compute_p_ () const
void do_next_ ()
void do_start_ ()
template<typename P >
void init_ (const multiple_size< n, W, F > &w, const P &c)
void invalidate ()
void invalidate_ ()
bool is_valid () const
bool is_valid_ () const
void next ()
void next_ ()
const multiple_size< n, W, F >
::psite
p_hook_ () const
const multiple_size< n, W, F > & site_set () const
void start ()
void start_ ()
const multiple_size< n, W, F >
::psite
subj_ ()
const multiple_size< n, W, F > *& target_ ()
const multiple_size< n, W, F >
::site
to_site () const
multiple_size_qiter< n, W, F > & update ()

Protected Attributes

const typename multiple_size
< n, W, F >::psite
c_
const multiple_size< n, W, F > * s_

Public Types

typedef Site_Proxy< void > category
typedef multiple_size_qiter< n,
W, F > 
exact_t
typedef multiple_size< n, W, F >
::site 
site
typedef multiple_size< n, W, F > target

Detailed Description

template<unsigned n, typename W, typename F>
class mln::win::multiple_size_qiter< n, W, F >

Definition at line 137 of file multiple_size.hh.

Constructor & Destructor Documentation

template<unsigned n, typename W , typename F >
mln::win::multiple_size_qiter< n, W, F >::multiple_size_qiter ( )
template<unsigned n, typename W , typename F >
template<typename P >
mln::win::multiple_size_qiter< n, W, F >::multiple_size_qiter ( const multiple_size< n, W, F > &  w,
const P &  c 
)

Member Function Documentation

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
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.

template<unsigned n, typename W , typename F >
W ::psite mln::win::multiple_size_qiter< n, W, F >::compute_p_ ( ) const

Compute the current psite.

template<unsigned n, typename W , typename F >
void mln::win::multiple_size_qiter< n, W, F >::do_next_ ( )

Go to the next point.

template<unsigned n, typename W , typename F >
void mln::win::multiple_size_qiter< n, W, F >::do_start_ ( )

Start an iteration.

template<unsigned n, typename W , typename F >
template<typename P >
void mln::win::multiple_size_qiter< n, W, F >::init_ ( const multiple_size< n, W, F > &  w,
const P &  c 
)
void mln::Site_Iterator< multiple_size_qiter< n, W, F > >::invalidate ( )
inherited
template<unsigned n, typename W , typename F >
void mln::win::multiple_size_qiter< n, W, F >::invalidate_ ( )

Invalidate the iterator.

bool mln::Site_Iterator< multiple_size_qiter< n, W, F > >::is_valid ( ) const
inherited
template<unsigned n, typename W , typename F >
bool mln::win::multiple_size_qiter< n, W, F >::is_valid_ ( ) const

Test the iterator validity.

void mln::Site_Iterator< multiple_size_qiter< n, W, F > >::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.
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.

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

INTERNAL_API 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

INTERNAL_API 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.

Member Data Documentation

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_
protectedinherited

A pointer to the center psite around which this iterator moves.

Definition at line 113 of file site_relative_iterator_base.hh.

const multiple_size< n, W, F > * mln::internal::site_iterator_base< multiple_size< n, W, F > , multiple_size_qiter< n, W, F > >::s_
protectedinherited

The target.

Definition at line 91 of file site_iterator_base.hh.

Member Typedef Documentation

typedef Site_Proxy<void> mln::Site_Proxy< multiple_size_qiter< n, W, F > >::category
inherited

Definition at line 68 of file site_proxy.hh.

typedef multiple_size_qiter< n, W, F > mln::Object< multiple_size_qiter< n, W, F > >::exact_t
inherited

Definition at line 105 of file object.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 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.