Public Types | Public Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes

mln::p_double_piter< S, I1, I2 > Class Template Reference

#include <p_double.hh>

Inheritance diagram for mln::p_double_piter< S, I1, I2 >:
Inheritance graph

List of all members.

Public Types

typedef Site_Proxy< void > category
typedef p_double_piter< S, I1, I2 > exact_t
typedef S pset
 The associated site set type.
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 &newtarget)
 Change the site set targeted by this iterator.
void change_target_ (const S &s)
 Part of the change_target specific to the exact iterator type, empty by default (to be overloaded).
void invalidate ()
void invalidate_ ()
 Invalidate the iterator.
bool is_valid () const
bool is_valid_ () const
 Test if the iterator is valid.
void next ()
 Go to the next element.
void next_ ()
 Go to the next point.
 p_double_piter (const S &s)
 Constructor.
 p_double_piter ()
 Constructor with no argument.
const S::psite & p_hook_ () const
 Hook to the current location.
const S & site_set () const
 Give the site set that this iterator browses.
void start ()
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::psite p_
 The psite designated by this iterator.
const S * s_
 The target.

Private Types

typedef p_double_piter< S, I1, I2 > self_
typedef
internal::site_set_iterator_base
< S, self_
super_

Private Member Functions

void progress_ ()

Private Attributes

I1 i1_
I2 i2_

Detailed Description

template<typename S, typename I1, typename I2>
class mln::p_double_piter< S, I1, I2 >

Definition at line 86 of file p_double.hh.


Member Typedef Documentation

typedef Site_Proxy<void> mln::Site_Proxy< p_double_piter< S, I1, I2 > >::category [inherited]

Reimplemented from mln::Proxy< p_double_piter< S, I1, I2 > >.

Definition at line 63 of file site_proxy.hh.

typedef p_double_piter< S, I1, I2 > mln::Object< p_double_piter< S, I1, I2 > >::exact_t [inherited]

Definition at line 173 of file object.hh.

typedef S mln::internal::site_set_iterator_base< S, p_double_piter< S, I1, I2 > >::pset [inherited]

The associated site set type.

Definition at line 57 of file site_set_iterator_base.hh.

template<typename S , typename I1 , typename I2 >
typedef p_double_piter<S,I1,I2> mln::p_double_piter< S, I1, I2 >::self_ [private]

Definition at line 91 of file p_double.hh.

typedef S ::site mln::internal::site_iterator_base< S, p_double_piter< S, I1, I2 > >::site [inherited]

The associated site type (as a Site_Proxy).

Definition at line 64 of file site_iterator_base.hh.

template<typename S , typename I1 , typename I2 >
typedef internal::site_set_iterator_base<S,self_> mln::p_double_piter< S, I1, I2 >::super_ [private]
typedef S mln::internal::site_iterator_base< S, p_double_piter< S, I1, I2 > >::target [inherited]

The associated target type.

Definition at line 61 of file site_iterator_base.hh.


Constructor & Destructor Documentation

template<typename S , typename I1 , typename I2 >
mln::p_double_piter< S, I1, I2 >::p_double_piter (  )  [inline]

Constructor with no argument.

Definition at line 211 of file p_double.hh.

template<typename S , typename I1 , typename I2 >
mln::p_double_piter< S, I1, I2 >::p_double_piter ( const S &  s  )  [inline]

Constructor.

Definition at line 217 of file p_double.hh.

References mln::p_double_piter< S, I1, I2 >::change_target().


Member Function Documentation

template<typename S , typename I1 , typename I2 >
void mln::p_double_piter< S, I1, I2 >::change_target ( const S &  newtarget  )  [inline]
void mln::internal::site_set_iterator_base< S, p_double_piter< S, I1, I2 > >::change_target_ ( const S &  s  )  [inherited]

Part of the change_target specific to the exact iterator type, empty by default (to be overloaded).

void mln::Site_Iterator< p_double_piter< S, I1, I2 > >::invalidate (  )  [inherited]
template<typename S , typename I1 , typename I2 >
void mln::p_double_piter< S, I1, I2 >::invalidate_ (  )  [inline]

Invalidate the iterator.

Definition at line 243 of file p_double.hh.

References mln::p_double_piter< S, I1, I2 >::i2_.

Referenced by mln::p_double_piter< S, I1, I2 >::change_target().

bool mln::Site_Iterator< p_double_piter< S, I1, I2 > >::is_valid (  )  const [inherited]
template<typename S , typename I1 , typename I2 >
bool mln::p_double_piter< S, I1, I2 >::is_valid_ (  )  const [inline]

Test if the iterator is valid.

Definition at line 235 of file p_double.hh.

References mln::p_double_piter< S, I1, I2 >::i2_.

void mln::Site_Iterator< p_double_piter< S, I1, I2 > >::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 S , typename I1 , typename I2 >
void mln::p_double_piter< S, I1, I2 >::next_ (  )  [inline]
const S ::psite& mln::internal::site_set_iterator_base< S, p_double_piter< S, I1, I2 > >::p_hook_ (  )  const [inherited]

Hook to the current location.

template<typename S , typename I1 , typename I2 >
void mln::p_double_piter< S, I1, I2 >::progress_ (  )  [inline, private]
const S& mln::internal::site_set_iterator_base< S, p_double_piter< S, I1, I2 > >::site_set (  )  const [inherited]

Give the site set that this iterator browses.

void mln::Site_Iterator< p_double_piter< S, I1, I2 > >::start (  )  [inherited]
template<typename S , typename I1 , typename I2 >
void mln::p_double_piter< S, I1, I2 >::start_ (  )  [inline]
const S ::psite& mln::internal::site_iterator_base< S, p_double_piter< S, I1, I2 > >::subj_ (  )  [inherited]

Give the subject (required by the Proxy interface).

const S*& mln::internal::site_iterator_base< S, p_double_piter< S, I1, I2 > >::target_ (  )  [inherited]

Give the target address. It might be 0.

const S ::site& mln::internal::site_iterator_base< S, p_double_piter< S, I1, I2 > >::to_site (  )  const [inherited]

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


Member Data Documentation

template<typename S , typename I1 , typename I2 >
I1 mln::p_double_piter< S, I1, I2 >::i1_ [private]
template<typename S , typename I1 , typename I2 >
I2 mln::p_double_piter< S, I1, I2 >::i2_ [private]
S ::psite mln::internal::site_set_iterator_base< S, p_double_piter< S, I1, I2 > >::p_ [protected, inherited]
const S* mln::internal::site_iterator_base< S, p_double_piter< S, I1, I2 > >::s_ [protected, inherited]