mln::vertex_image< P, V, G > Class Template Reference
[Basic types]

Image based on graph vertices. More...

#include <vertex_image.hh>

Inheritance diagram for mln::vertex_image< P, V, G >:

Inheritance graph

List of all members.

Public Types

typedef S::bkd_piter bkd_piter
 Backward Site_Iterator associated type.
typedef Image< void > category
typedef S domain_t
 Site_Set associated type.
typedef E exact_t
typedef site_function_t::result function_result_t
typedef F function_t
 Function associated type.
typedef S::fwd_piter fwd_piter
 Forward Site_Iterator associated type.
typedef G graph_t
 The type of the underlying graph.
typedef super_::lvalue lvalue
typedef F::mutable_result mutable_result
typedef vertex_nbh_t nbh_t
 Neighborhood type.
typedef fwd_piter piter
 Site_Iterator associated type; default definition is fwd_piter.
typedef super_::psite psite
 Point_Site associated type.
typedef super_::rvalue rvalue
 Return type of read-only access.
typedef p_vertices< G,
site_function_t
S
typedef S::site site
 Site associated type.
typedef
internal::vfsite_selector< P,
G >::site_function_t 
site_function_t
 Function mapping graph elements to sites.
typedef vertex_image
< tag::psite_< P >
, tag::value_< V >
, tag::graph_< G > > 
skeleton
 Skeleton type.
typedef mln::value::set
< F::result > 
t_eligible_values_set
 Eligible-value-set associated type.
typedef mln::value::set
< typename
mln::value::super_value
< F::result >::ret
t_values_space
 Value space associated type.
typedef F::result value
 Value associated type.
typedef graph_elt_neighborhood
< G, S
vertex_nbh_t
 Vertex Neighborhood type.
typedef graph_elt_window< G, Svertex_win_t
 Vertex Window type.
typedef vertex_win_t win_t
 Window type.

Public Member Functions

void destroy ()
 Detach data from an image (free it if nobody else hold it).
const Sdomain () const
 Give the definition domain.
function () const
 Return the function which computes a site value.
bool has (const psite &p) const
 Test if p belongs to the image domain.
const util::tracked_ptr
< internal::data< E > > & 
hook_data_ () const
 Hook to the image data.
const void * id_ () const
 Give an identifier of this image.
template<typename P>
unsigned index_of_point (const P &p) const
 Give the offset of the site p.
void init_ (const Function_v2v< F > &f, const Site_Set< S > &ps)
 Initialize an empty image.
bool is_valid () const
 Test if this image has been initialized; default impl.
typedef mlc_if (is_mutable, mutable_result, typename F::result) lvalue
 Return type of read-write access.
typedef mlc_not_equal (mutable_result, void) is_mutable
std::size_t nsites () const
 Give the number of sites of the image domain.
lvalue operator() (const typename S::psite &p)
 Read-write access returns either a temporary value (copy) or a reference in the case of a mutable function (container).
rvalue operator() (const typename S::psite &p) const
 Read-only access of pixel value at point site p.
lvalue operator() (const psite &p)
rvalue operator() (const psite &p) const
const t_eligible_values_setvalues_eligible () const
const t_values_spacevalues_space () const
 Return the value space of the image.
lvalue operator() (unsigned v_id)
rvalue operator() (unsigned v_id) const
 Value accessors/operators overloads.
template<typename FV>
 vertex_image (const p_vertices< G, site_function_t > &pv, const Function_v2v< FV > &vertex_values)
 vertex_image (const p_vertices< G, site_function_t > &pv, const Function_v2v< fun::i2v::array< V > > &vertex_values)
 vertex_image (const p_vertices< G, site_function_t > &pv)
 vertex_image ()
 Constructors.

Protected Attributes

util::tracked_ptr
< internal::data< E > > 
data_

Private Types

typedef
pw::internal::image_base
< fun::i2v::array< V >
, p_vertices< G, typename
internal::vfsite_selector< P,
G >::site_function_t >
, vertex_image< P, V, G > > 
super_


Detailed Description

template<typename P, typename V, typename G = util::graph>
class mln::vertex_image< P, V, G >

Image based on graph vertices.

Definition at line 126 of file core/image/vertex_image.hh.


Member Typedef Documentation

typedef S ::bkd_piter mln::internal::image_base< F::result , S , E >::bkd_piter [inherited]

Backward Site_Iterator associated type.

Definition at line 118 of file core/internal/image_base.hh.

template<typename E>
typedef Image<void> mln::Image< E >::category [inherited]

Reimplemented from mln::Object< E >.

Definition at line 75 of file core/concept/image.hh.

typedef S mln::internal::image_base< F::result , S , E >::domain_t [inherited]

Site_Set associated type.

Definition at line 105 of file core/internal/image_base.hh.

template<typename E>
typedef E mln::Object< E >::exact_t [inherited]

Definition at line 172 of file object.hh.

template<typename P, typename V, typename G = util::graph>
typedef site_function_t ::result mln::vertex_image< P, V, G >::function_result_t

Definition at line 146 of file core/image/vertex_image.hh.

template<typename F, typename S, typename E>
typedef F mln::pw::internal::image_base< F, S, E >::function_t [inherited]

Function associated type.

Definition at line 122 of file pw/internal/image_base.hh.

typedef S ::fwd_piter mln::internal::image_base< F::result , S , E >::fwd_piter [inherited]

Forward Site_Iterator associated type.

Definition at line 115 of file core/internal/image_base.hh.

template<typename P, typename V, typename G = util::graph>
typedef G mln::vertex_image< P, V, G >::graph_t

The type of the underlying graph.

Definition at line 141 of file core/image/vertex_image.hh.

template<typename P, typename V, typename G = util::graph>
typedef super_::lvalue mln::vertex_image< P, V, G >::lvalue

Definition at line 138 of file core/image/vertex_image.hh.

template<typename F, typename S, typename E>
typedef F::mutable_result mln::pw::internal::image_base< F, S, E >::mutable_result [inherited]

Definition at line 117 of file pw/internal/image_base.hh.

template<typename P, typename V, typename G = util::graph>
typedef vertex_nbh_t mln::vertex_image< P, V, G >::nbh_t

Neighborhood type.

Definition at line 165 of file core/image/vertex_image.hh.

typedef fwd_piter mln::internal::image_base< F::result , S , E >::piter [inherited]

Site_Iterator associated type; default definition is fwd_piter.

Definition at line 123 of file core/internal/image_base.hh.

template<typename P, typename V, typename G = util::graph>
typedef super_::psite mln::vertex_image< P, V, G >::psite

Point_Site associated type.

Reimplemented from mln::internal::image_base< F::result, S, E >.

Definition at line 136 of file core/image/vertex_image.hh.

template<typename P, typename V, typename G = util::graph>
typedef super_::rvalue mln::vertex_image< P, V, G >::rvalue

Return type of read-only access.

Reimplemented from mln::pw::internal::image_base< F, S, E >.

Definition at line 137 of file core/image/vertex_image.hh.

template<typename P, typename V, typename G = util::graph>
typedef p_vertices<G,site_function_t> mln::vertex_image< P, V, G >::S

Definition at line 154 of file core/image/vertex_image.hh.

typedef S ::site mln::internal::image_base< F::result , S , E >::site [inherited]

Site associated type.

Definition at line 111 of file core/internal/image_base.hh.

template<typename P, typename V, typename G = util::graph>
typedef internal::vfsite_selector<P,G>::site_function_t mln::vertex_image< P, V, G >::site_function_t

Function mapping graph elements to sites.

Definition at line 145 of file core/image/vertex_image.hh.

template<typename P, typename V, typename G = util::graph>
typedef vertex_image< tag::psite_<P>, tag::value_<V>, tag::graph_<G> > mln::vertex_image< P, V, G >::skeleton

Skeleton type.

Definition at line 152 of file core/image/vertex_image.hh.

template<typename P, typename V, typename G = util::graph>
typedef pw::internal::image_base<fun::i2v::array<V>, p_vertices<G, typename internal::vfsite_selector<P,G>::site_function_t >, vertex_image<P,V,G> > mln::vertex_image< P, V, G >::super_ [private]

Definition at line 133 of file core/image/vertex_image.hh.

typedef mln::value::set<F::result > mln::internal::image_base< F::result , S , E >::t_eligible_values_set [inherited]

Eligible-value-set associated type.

Definition at line 91 of file core/internal/image_base.hh.

typedef mln::value::set< typename mln::value::super_value<F::result >::ret > mln::internal::image_base< F::result , S , E >::t_values_space [inherited]

Value space associated type.

Definition at line 98 of file core/internal/image_base.hh.

template<typename F, typename S, typename E>
typedef F ::result mln::pw::internal::image_base< F, S, E >::value [inherited]

Value associated type.

Reimplemented from mln::internal::image_base< F::result, S, E >.

Definition at line 125 of file pw/internal/image_base.hh.

template<typename P, typename V, typename G = util::graph>
typedef graph_elt_neighborhood<G,S> mln::vertex_image< P, V, G >::vertex_nbh_t

Vertex Neighborhood type.

Definition at line 160 of file core/image/vertex_image.hh.

template<typename P, typename V, typename G = util::graph>
typedef graph_elt_window<G,S> mln::vertex_image< P, V, G >::vertex_win_t

Vertex Window type.

Definition at line 157 of file core/image/vertex_image.hh.

template<typename P, typename V, typename G = util::graph>
typedef vertex_win_t mln::vertex_image< P, V, G >::win_t

Window type.

Definition at line 163 of file core/image/vertex_image.hh.


Constructor & Destructor Documentation

template<typename P, typename V, typename G>
mln::vertex_image< P, V, G >::vertex_image (  )  [inline]

Constructors.

Definition at line 247 of file core/image/vertex_image.hh.

template<typename P, typename V, typename G>
mln::vertex_image< P, V, G >::vertex_image ( const p_vertices< G, site_function_t > &  pv  )  [inline]

Definition at line 253 of file core/image/vertex_image.hh.

template<typename P, typename V, typename G>
mln::vertex_image< P, V, G >::vertex_image ( const p_vertices< G, site_function_t > &  pv,
const Function_v2v< fun::i2v::array< V > > &  vertex_values 
) [inline]

Definition at line 260 of file core/image/vertex_image.hh.

References mln::exact().

template<typename P, typename V, typename G>
template<typename FV>
mln::vertex_image< P, V, G >::vertex_image ( const p_vertices< G, site_function_t > &  pv,
const Function_v2v< FV > &  vertex_values 
) [inline]

Definition at line 269 of file core/image/vertex_image.hh.


Member Function Documentation

void mln::internal::image_base< F::result , S , E >::destroy (  )  [inherited]

Detach data from an image (free it if nobody else hold it).

template<typename F, typename S, typename E>
const S & mln::pw::internal::image_base< F, S, E >::domain (  )  const [inline, inherited]

Give the definition domain.

Definition at line 215 of file pw/internal/image_base.hh.

References mln::internal::image_base< F::result, S, E >::data_.

Referenced by mln::make::edge_image().

template<typename F, typename S, typename E>
F mln::pw::internal::image_base< F, S, E >::function (  )  const [inline, inherited]

Return the function which computes a site value.

Definition at line 223 of file pw/internal/image_base.hh.

References mln::internal::image_base< F::result, S, E >::data_.

Referenced by mln::init_().

bool mln::internal::image_base< F::result , S , E >::has ( const psite &  p  )  const [inherited]

Test if p belongs to the image domain.

const util::tracked_ptr< internal::data<E > >& mln::internal::image_base< F::result , S , E >::hook_data_ (  )  const [inherited]

Hook to the image data.

const void* mln::internal::image_base< F::result , S , E >::id_ (  )  const [inherited]

Give an identifier of this image.

When several image variables designate the same image, they share the same identifier.

template<typename E, typename B>
template<typename P>
unsigned mln::internal::check::image_fastest_< E, B >::index_of_point ( const P &  p  )  const [inline, inherited]

Give the offset of the site p.

Parameters:
[in] p A site.
Warning:
This method is final.
Precondition:
The image has to be initialized and to own the point p.
Postcondition:
p == point_at_index(result)

Definition at line 133 of file internal/check/image_fastest.hh.

template<typename F, typename S, typename E>
void mln::pw::internal::image_base< F, S, E >::init_ ( const Function_v2v< F > &  f,
const Site_Set< S > &  ps 
) [inline, inherited]

Initialize an empty image.

Definition at line 207 of file pw/internal/image_base.hh.

References mln::internal::image_base< F::result, S, E >::data_, and mln::exact().

Referenced by mln::init_().

bool mln::internal::image_base< F::result , S , E >::is_valid (  )  const [inherited]

Test if this image has been initialized; default impl.

Referenced by mln::make::edge_image().

template<typename F, typename S, typename E>
typedef mln::pw::internal::image_base< F, S, E >::mlc_if ( is_mutable  ,
mutable_result  ,
typename F::result   
) [inherited]

Return type of read-write access.

template<typename F, typename S, typename E>
typedef mln::pw::internal::image_base< F, S, E >::mlc_not_equal ( mutable_result  ,
void   
) [inherited]

std::size_t mln::internal::image_base< F::result , S , E >::nsites (  )  const [inherited]

Give the number of sites of the image domain.

template<typename F, typename S, typename E>
image_base< F, S, E >::lvalue mln::pw::internal::image_base< F, S, E >::operator() ( const typename S::psite &  p  )  [inline, inherited]

Read-write access returns either a temporary value (copy) or a reference in the case of a mutable function (container).

Definition at line 241 of file pw/internal/image_base.hh.

References mln::internal::image_base< F::result, S, E >::data_.

template<typename F, typename S, typename E>
image_base< F, S, E >::rvalue mln::pw::internal::image_base< F, S, E >::operator() ( const typename S::psite &  p  )  const [inline, inherited]

Read-only access of pixel value at point site p.

Definition at line 232 of file pw/internal/image_base.hh.

References mln::internal::image_base< F::result, S, E >::data_.

template<typename P, typename V, typename G = util::graph>
lvalue mln::vertex_image< P, V, G >::operator() ( const psite p  ) 

template<typename P, typename V, typename G = util::graph>
rvalue mln::vertex_image< P, V, G >::operator() ( const psite p  )  const

template<typename P, typename V, typename G>
vertex_image< P, V, G >::lvalue mln::vertex_image< P, V, G >::operator() ( unsigned  v_id  )  [inline]

template<typename P, typename V, typename G>
vertex_image< P, V, G >::rvalue mln::vertex_image< P, V, G >::operator() ( unsigned  v_id  )  const [inline]

Value accessors/operators overloads.

Definition at line 292 of file core/image/vertex_image.hh.

References mln::internal::image_base< F::result, S, E >::data_.

const t_eligible_values_set& mln::internal::image_base< F::result , S , E >::values_eligible (  )  const [inherited]

const t_values_space& mln::internal::image_base< F::result , S , E >::values_space (  )  const [inherited]

Return the value space of the image.


Member Data Documentation

util::tracked_ptr< internal::data<E > > mln::internal::image_base< F::result , S , E >::data_ [protected, inherited]


Generated on Sun Apr 25 01:57:15 2010 for Milena (Olena) by  doxygen 1.5.6