Public Member Functions

mln::graph_window_piter< S, W, I > Class Template Reference

Forward iterator on line graph window. More...

#include <graph_window_piter.hh>

Inherits site_relative_iterator_base< W, graph_window_piter< S, W, I >, W::center_t >, and impl_selector< W::center_t, W::psite, graph_window_piter< S, W, I > >.

List of all members.

Public Types

typedef S::fun_t::result P
 Associated typesType of the window elements.
typedef W::center_t center_t
 Type of the window center.
typedef W::graph_element graph_element
 Type of the graph element pointed by this iterator.

Public Member Functions

void change_target_site_set (const S &s)
 Change the target site set.
void next ()
 Go to the next element.
const S & target_site_set () const
 Return the target site set.

 graph_window_piter ()
 Construction.
template<typename Pref >
 graph_window_piter (const Window< W > &win, const Pref &p_ref)
 To be used in case the center and neighbor sites have the same type and belong to the same site set.
template<typename Pref >
 graph_window_piter (const Window< W > &win, const Site_Set< S > &target_site_set, const Pref &p_ref)
 To be used in case center and neighbors sites do not have the same type and do not belong to the same site set.

const graph_elementelement () const
 Return the graph element pointed by this iterator.
unsigned id () const
 Return the graph element id.

Detailed Description

template<typename S, typename W, typename I>
class mln::graph_window_piter< S, W, I >

Forward iterator on line graph window.

Template Parameters:
S is the site set type.
W is the window type.
I is the underlying iterator type.

Definition at line 99 of file graph_window_piter.hh.


Member Typedef Documentation

template<typename S , typename W , typename I >
typedef W::center_t mln::graph_window_piter< S, W, I >::center_t

Type of the window center.

Definition at line 120 of file graph_window_piter.hh.

template<typename S , typename W , typename I >
typedef W::graph_element mln::graph_window_piter< S, W, I >::graph_element

Type of the graph element pointed by this iterator.

Definition at line 122 of file graph_window_piter.hh.

template<typename S , typename W , typename I >
typedef S::fun_t ::result mln::graph_window_piter< S, W, I >::P

Associated typesType of the window elements.

Definition at line 118 of file graph_window_piter.hh.


Constructor & Destructor Documentation

template<typename S , typename W , typename I >
mln::graph_window_piter< S, W, I >::graph_window_piter (  )  [inline]

Construction.

Definition at line 226 of file graph_window_piter.hh.

template<typename S , typename W , typename I >
template<typename Pref >
mln::graph_window_piter< S, W, I >::graph_window_piter ( const Window< W > &  win,
const Pref &  p_ref 
) [inline]

To be used in case the center and neighbor sites have the same type and belong to the same site set.

Parameters:
win The underlying window.
p_ref Window center.

Definition at line 235 of file graph_window_piter.hh.

template<typename S , typename W , typename I >
template<typename Pref >
mln::graph_window_piter< S, W, I >::graph_window_piter ( const Window< W > &  win,
const Site_Set< S > &  target_site_set,
const Pref &  p_ref 
) [inline]

To be used in case center and neighbors sites do not have the same type and do not belong to the same site set.

Parameters:
win The underlying window.
target_site_set Site set in which neighbor sites are extracted.
p_ref Window center.

Definition at line 249 of file graph_window_piter.hh.


Member Function Documentation

template<typename S , typename W , typename I >
void mln::graph_window_piter< S, W, I >::change_target_site_set ( const S &  s  )  [inline]

Change the target site set.

Window elements different from the center come from the target site set.

Definition at line 357 of file graph_window_piter.hh.

template<typename S , typename W , typename I >
const graph_window_piter< S, W, I >::graph_element & mln::graph_window_piter< S, W, I >::element (  )  const [inline]

Return the graph element pointed by this iterator.

Definition at line 341 of file graph_window_piter.hh.

template<typename S , typename W , typename I >
unsigned mln::graph_window_piter< S, W, I >::id (  )  const [inline]

Return the graph element id.

FIXME: we do not want to have this member since there is an automatic conversion to the graph element. C++ does not seem to use this conversion operator.

Definition at line 349 of file graph_window_piter.hh.

void mln::Site_Iterator< graph_window_piter< S, W, I > >::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 W , typename I >
const S & mln::graph_window_piter< S, W, I >::target_site_set (  )  const [inline]

Return the target site set.

Window elements different from the center come from the target site set.

Definition at line 366 of file graph_window_piter.hh.