mln::morpho::tree::data< I, S > Class Template Reference

#include <data.hh>

List of all members.

Public Types

typedef mln::trait::ch_value
< I, nodes_t >::ret 
children_t
 Children image associated type.
typedef
mln::morpho::tree::depth1st_piter
< self_
depth1st_piter
typedef
mln::morpho::tree::dn_leaf_piter
< self_
dn_leaf_piter
typedef
mln::morpho::tree::dn_node_piter
< self_
dn_node_piter
typedef
mln::morpho::tree::dn_site_piter
< self_
dn_site_piter
typedef I function
 Associated type of the function f.
typedef up_leaf_piter leaf_piter
typedef p_array< typename
I::psite > 
leaves_t
 Leaf set associated type.
typedef up_node_piter node_piter
typedef p_array< typename
I::psite > 
nodes_t
 Node set associated type.
typedef mln::trait::ch_value
< I, typename I::psite >::ret 
parent_t
 Parent image associated type.
typedef I::psite psite
 Psite associated type.
typedef I::site site
typedef up_site_piter site_piter
typedef S sites_t
 Site set associated type.
typedef
mln::morpho::tree::up_leaf_piter
< self_
up_leaf_piter
typedef
mln::morpho::tree::up_node_piter
< self_
up_node_piter
typedef
mln::morpho::tree::up_site_piter
< self_
up_site_piter

Public Member Functions

 data (const Image< I > &f, const parent_t &parent, const Site_Set< S > &s)
 Special constructor where the parent computation has delegated to an external function.
template<typename N>
 data (const Image< I > &f, const Site_Set< S > &s, const Neighborhood< N > &nbh)
 Standard constructor.
unsigned nroots () const
children_t::rvalue children (const typename I::psite &p) const
 Child-related materials.
const mln::trait::ch_value< I,
nodes_t >::ret & 
children_image () const
const S & domain () const
 Sites materials.
const I & f () const
I::rvalue f (const typename I::psite &p) const
 Base function-related materials.
bool is_a_leaf (const typename I::psite &p) const
bool is_a_node (const typename I::psite &p) const
bool is_a_non_root_node (const typename I::psite &p) const
bool is_root (const typename I::psite &p) const
bool is_valid () const
 Tests.
const p_array< typename
I::psite > & 
leaves () const
 Leaves materials.
const p_array< typename
I::psite > & 
nodes () const
 Nodes materials.
parent_t::rvalue parent (const typename I::psite &p) const
 Parent-related materials.
const parent_tparent_image () const

Protected Member Functions

void compute_children_ ()

Protected Attributes

mln::trait::ch_value< I,
nodes_t >::ret 
children_
function f_
leaves_t leaves_
nodes_t nodes_
unsigned nroots_
mln::trait::ch_value< I,
typename I::psite >::ret 
parent_
sites_t s_

Private Types

typedef data< I, S > self_


Detailed Description

template<typename I, typename S>
class mln::morpho::tree::data< I, S >

Definition at line 99 of file milena/mln/morpho/tree/data.hh.


Member Typedef Documentation

template<typename I, typename S>
typedef mln::trait::ch_value< I , nodes_t >::ret mln::morpho::tree::data< I, S >::children_t

Children image associated type.

Definition at line 120 of file milena/mln/morpho/tree/data.hh.

template<typename I, typename S>
typedef mln::morpho::tree::depth1st_piter<self_> mln::morpho::tree::data< I, S >::depth1st_piter

Definition at line 137 of file milena/mln/morpho/tree/data.hh.

template<typename I, typename S>
typedef mln::morpho::tree::dn_leaf_piter<self_> mln::morpho::tree::data< I, S >::dn_leaf_piter

Definition at line 134 of file milena/mln/morpho/tree/data.hh.

template<typename I, typename S>
typedef mln::morpho::tree::dn_node_piter<self_> mln::morpho::tree::data< I, S >::dn_node_piter

Definition at line 129 of file milena/mln/morpho/tree/data.hh.

template<typename I, typename S>
typedef mln::morpho::tree::dn_site_piter<self_> mln::morpho::tree::data< I, S >::dn_site_piter

Definition at line 124 of file milena/mln/morpho/tree/data.hh.

template<typename I, typename S>
typedef I mln::morpho::tree::data< I, S >::function

Associated type of the function f.

Definition at line 105 of file milena/mln/morpho/tree/data.hh.

template<typename I, typename S>
typedef up_leaf_piter mln::morpho::tree::data< I, S >::leaf_piter

Definition at line 135 of file milena/mln/morpho/tree/data.hh.

template<typename I, typename S>
typedef p_array<typename I ::psite> mln::morpho::tree::data< I, S >::leaves_t

Leaf set associated type.

Definition at line 114 of file milena/mln/morpho/tree/data.hh.

template<typename I, typename S>
typedef up_node_piter mln::morpho::tree::data< I, S >::node_piter

Definition at line 130 of file milena/mln/morpho/tree/data.hh.

template<typename I, typename S>
typedef p_array<typename I ::psite> mln::morpho::tree::data< I, S >::nodes_t

Node set associated type.

Definition at line 112 of file milena/mln/morpho/tree/data.hh.

template<typename I, typename S>
typedef mln::trait::ch_value< I , typename I ::psite >::ret mln::morpho::tree::data< I, S >::parent_t

Parent image associated type.

Definition at line 117 of file milena/mln/morpho/tree/data.hh.

template<typename I, typename S>
typedef I ::psite mln::morpho::tree::data< I, S >::psite

Psite associated type.

Definition at line 107 of file milena/mln/morpho/tree/data.hh.

template<typename I, typename S>
typedef data<I, S> mln::morpho::tree::data< I, S >::self_ [private]

Definition at line 101 of file milena/mln/morpho/tree/data.hh.

template<typename I, typename S>
typedef I ::site mln::morpho::tree::data< I, S >::site

Definition at line 108 of file milena/mln/morpho/tree/data.hh.

template<typename I, typename S>
typedef up_site_piter mln::morpho::tree::data< I, S >::site_piter

Definition at line 125 of file milena/mln/morpho/tree/data.hh.

template<typename I, typename S>
typedef S mln::morpho::tree::data< I, S >::sites_t

Site set associated type.

Definition at line 110 of file milena/mln/morpho/tree/data.hh.

template<typename I, typename S>
typedef mln::morpho::tree::up_leaf_piter<self_> mln::morpho::tree::data< I, S >::up_leaf_piter

Definition at line 133 of file milena/mln/morpho/tree/data.hh.

template<typename I, typename S>
typedef mln::morpho::tree::up_node_piter<self_> mln::morpho::tree::data< I, S >::up_node_piter

Definition at line 128 of file milena/mln/morpho/tree/data.hh.

template<typename I, typename S>
typedef mln::morpho::tree::up_site_piter<self_> mln::morpho::tree::data< I, S >::up_site_piter

Definition at line 123 of file milena/mln/morpho/tree/data.hh.


Constructor & Destructor Documentation

template<typename I, typename S>
template<typename N>
mln::morpho::tree::data< I, S >::data ( const Image< I > &  f,
const Site_Set< S > &  s,
const Neighborhood< N > &  nbh 
) [inline]

template<typename I, typename S>
mln::morpho::tree::data< I, S >::data ( const Image< I > &  f,
const parent_t parent,
const Site_Set< S > &  s 
)

Special constructor where the parent computation has delegated to an external function.

(To handle special case of connectivity for example).


Member Function Documentation

template<typename I, typename S>
mln::trait::ch_value< I, p_array< typename I::psite > >::ret::rvalue mln::morpho::tree::data< I, S >::children ( const typename I::psite &  p  )  const [inline]

template<typename I, typename S>
const mln::trait::ch_value< I, p_array< typename I::psite > >::ret & mln::morpho::tree::data< I, S >::children_image (  )  const [inline]

template<typename I, typename S>
void mln::morpho::tree::data< I, S >::compute_children_ (  )  [inline, protected]

template<typename I, typename S>
const S & mln::morpho::tree::data< I, S >::domain (  )  const [inline]

Sites materials.

Definition at line 559 of file milena/mln/morpho/tree/data.hh.

References mln::morpho::tree::data< I, S >::s_.

template<typename I, typename S>
const I & mln::morpho::tree::data< I, S >::f (  )  const [inline]

template<typename I, typename S>
I::rvalue mln::morpho::tree::data< I, S >::f ( const typename I::psite &  p  )  const [inline]

Base function-related materials.

Definition at line 583 of file milena/mln/morpho/tree/data.hh.

References mln::morpho::tree::data< I, S >::f_.

template<typename I, typename S>
bool mln::morpho::tree::data< I, S >::is_a_leaf ( const typename I::psite &  p  )  const [inline]

template<typename I, typename S>
bool mln::morpho::tree::data< I, S >::is_a_node ( const typename I::psite &  p  )  const [inline]

template<typename I, typename S>
bool mln::morpho::tree::data< I, S >::is_a_non_root_node ( const typename I::psite &  p  )  const [inline]

template<typename I, typename S>
bool mln::morpho::tree::data< I, S >::is_root ( const typename I::psite &  p  )  const [inline]

template<typename I, typename S>
bool mln::morpho::tree::data< I, S >::is_valid (  )  const [inline]

template<typename I, typename S>
const p_array< typename I::psite > & mln::morpho::tree::data< I, S >::leaves (  )  const [inline]

template<typename I, typename S>
const p_array< typename I::psite > & mln::morpho::tree::data< I, S >::nodes (  )  const [inline]

template<typename I, typename S>
unsigned mln::morpho::tree::data< I, S >::nroots (  )  const [inline]

template<typename I, typename S>
mln::trait::ch_value< I, typename I::psite >::ret::rvalue mln::morpho::tree::data< I, S >::parent ( const typename I::psite &  p  )  const [inline]

Parent-related materials.

Definition at line 473 of file milena/mln/morpho/tree/data.hh.

template<typename I, typename S>
const mln::trait::ch_value< I, typename I::psite >::ret & mln::morpho::tree::data< I, S >::parent_image (  )  const [inline]


Member Data Documentation

template<typename I, typename S>
mln::trait::ch_value< I , nodes_t >::ret mln::morpho::tree::data< I, S >::children_ [protected]

template<typename I, typename S>
function mln::morpho::tree::data< I, S >::f_ [protected]

template<typename I, typename S>
leaves_t mln::morpho::tree::data< I, S >::leaves_ [protected]

template<typename I, typename S>
nodes_t mln::morpho::tree::data< I, S >::nodes_ [protected]

template<typename I, typename S>
unsigned mln::morpho::tree::data< I, S >::nroots_ [protected]

template<typename I, typename S>
mln::trait::ch_value< I , typename I ::psite >::ret mln::morpho::tree::data< I, S >::parent_ [protected]

template<typename I, typename S>
sites_t mln::morpho::tree::data< I, S >::s_ [protected]


Generated on Sun Apr 25 02:03:52 2010 for Milena (Olena) by  doxygen 1.5.6