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

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

template<typename N >
 data (const Image< I > &f, const Site_Set< S > &s, const Neighborhood< N > &nbh)
 Standard constructor.
 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.
unsigned nroots () const

I::rvalue f (const typename I::psite &p) const
 Base function-related materials.
const I & f () const

parent_t::rvalue parent (const typename I::psite &p) const
 Parent-related materials.
const parent_tparent_image () 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 p_array< typename
I::psite > & 
nodes () const
 Nodes materials.

const p_array< typename
I::psite > & 
leaves () const
 Leaves materials.

const S & domain () const
 Sites materials.

bool is_valid () const
 Tests.
bool is_root (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_a_leaf (const typename I::psite &p) 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 100 of file 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 121 of file 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 138 of file 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 135 of file 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 130 of file 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 125 of file 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 106 of file morpho/tree/data.hh.

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

Definition at line 136 of file 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 115 of file morpho/tree/data.hh.

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

Definition at line 131 of file 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 113 of file 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 118 of file 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 108 of file morpho/tree/data.hh.

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

Definition at line 102 of file morpho/tree/data.hh.

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

Definition at line 109 of file morpho/tree/data.hh.

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

Definition at line 126 of file 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 111 of file 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 134 of file 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 129 of file 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 124 of file 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]

Child-related materials.

Definition at line 592 of file morpho/tree/data.hh.

References mln::morpho::tree::is_a_node().

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]

Definition at line 601 of file morpho/tree/data.hh.

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

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 560 of file morpho/tree/data.hh.

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

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 584 of file morpho/tree/data.hh.

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

Definition at line 576 of file 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]

Definition at line 568 of file morpho/tree/data.hh.

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

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 474 of file 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]