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

mln::internal::run_image_< T, P, E > Class Template Reference

#include <run_image.hh>

Inheritance diagram for mln::internal::run_image_< T, P, E >:
Inheritance graph

List of all members.

Public Types

typedef p_set_of< p_run< P >
>::bkd_piter 
bkd_piter
 Backward Site_Iterator associated type.
typedef Image< void > category
typedef p_set_of< p_run< P > > domain_t
 Site_Set associated type.
typedef E exact_t
typedef p_set_of< p_run< P >
>::fwd_piter 
fwd_piter
 Forward Site_Iterator associated type.
typedef fwd_piter piter
 Site_Iterator associated type; default definition is fwd_piter.
typedef p_set_of< p_run< P >
>::psite 
psite
 Point_Site associated type.
typedef p_set_of< p_run< P >
>::site 
site
 Site associated type.
typedef mln::value::set< P > t_eligible_values_set
 Eligible-value-set associated type.
typedef mln::value::set
< typename
mln::value::super_value< P >
::ret
t_values_space
 Value space associated type.
typedef P value
 Value associated type.

Public Member Functions

float compression () const
 Give the rate of compression.
void destroy ()
 Detach data from an image (free it if nobody else hold it).
void finalize ()
 Finalize the construction.
bool has (const typename p_set_of< p_run< P > >::psite &ps) const
 Tell if the image has the given point site.
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.
unsigned index_of_point (const P &p) const
 Give the offset of the site p.
bool is_valid () const
 Test if this image has been initialized; default impl.
std::size_t nsites () const
 Give the number of sites of the image domain.
point_at (const typename p_set_of< p_run< P > >::psite &ps) const
 Give the point represented by the point-site.
const t_eligible_values_setvalues_eligible () const
const t_values_spacevalues_space () const
 Return the value space of the image.

Protected Member Functions

 run_image_ ()

Protected Attributes

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

Detailed Description

template<typename T, typename P, typename E>
class mln::internal::run_image_< T, P, E >

Factorization class for run_image. Parameter T is the type of the image value. Parameter P is the type of the image point. Parameter E is the Exact type of the image.

Definition at line 50 of file run_image.hh.


Member Typedef Documentation

typedef p_set_of< p_run< P > > ::bkd_piter mln::internal::image_base< P , p_set_of< p_run< P > > , 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 p_set_of< p_run< P > > mln::internal::image_base< P , p_set_of< p_run< P > > , 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 173 of file object.hh.

typedef p_set_of< p_run< P > > ::fwd_piter mln::internal::image_base< P , p_set_of< p_run< P > > , E >::fwd_piter [inherited]

Forward Site_Iterator associated type.

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

typedef fwd_piter mln::internal::image_base< P , p_set_of< p_run< P > > , E >::piter [inherited]

Site_Iterator associated type; default definition is fwd_piter.

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

typedef p_set_of< p_run< P > > ::psite mln::internal::image_base< P , p_set_of< p_run< P > > , E >::psite [inherited]

Point_Site associated type.

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

typedef p_set_of< p_run< P > > ::site mln::internal::image_base< P , p_set_of< p_run< P > > , E >::site [inherited]

Site associated type.

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

typedef mln::value::set<P > mln::internal::image_base< P , p_set_of< p_run< P > > , 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<P >::ret > mln::internal::image_base< P , p_set_of< p_run< P > > , E >::t_values_space [inherited]

Value space associated type.

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

typedef P mln::internal::image_base< P , p_set_of< p_run< P > > , E >::value [inherited]

Value associated type.

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


Constructor & Destructor Documentation

template<typename T , typename P , typename E >
mln::internal::run_image_< T, P, E >::run_image_ (  )  [inline, protected]

Definition at line 93 of file run_image.hh.


Member Function Documentation

template<typename T , typename P , typename E >
float mln::internal::run_image_< T, P, E >::compression (  )  const [inline]

Give the rate of compression.

Give the rate of space gained by coding an image in this format. A rate of 1 means there is no compression. Less than 1 means we have gained space.

Returns:
The rate of compression.

Definition at line 100 of file run_image.hh.

References mln::internal::image_base< P, p_set_of< p_run< P > >, E >::data_, and mln::exact().

void mln::internal::image_base< P , p_set_of< p_run< P > > , E >::destroy (  )  [inherited]

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

template<typename T , typename P , typename E >
void mln::internal::run_image_< T, P, E >::finalize (  )  [inline]

Finalize the construction.

For internal use, this method has to be called to have actually an lighter image. So it improves compression.

Definition at line 109 of file run_image.hh.

References mln::exact().

template<typename T , typename P , typename E >
bool mln::internal::run_image_< T, P, E >::has ( const typename p_set_of< p_run< P > >::psite ps  )  const [inline]

Tell if the image has the given point site.

Returns:
True if the image has the point site, else false.

Definition at line 128 of file run_image.hh.

References mln::exact().

bool mln::internal::image_base< P , p_set_of< p_run< P > > , 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< P , p_set_of< p_run< P > > , E >::hook_data_ (  )  const [inherited]

Hook to the image data.

const void* mln::internal::image_base< P , p_set_of< p_run< P > > , E >::id_ (  )  const [inherited]

Give an identifier of this image.

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

unsigned mln::internal::check::image_fastest_< E, mln::metal::equal< mln_trait_image_speed(E), trait::image::speed::fastest >::eval >::index_of_point ( const P &  p  )  const [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)
bool mln::internal::image_base< P , p_set_of< p_run< P > > , E >::is_valid (  )  const [inherited]

Test if this image has been initialized; default impl.

std::size_t mln::internal::image_base< P , p_set_of< p_run< P > > , E >::nsites (  )  const [inherited]

Give the number of sites of the image domain.

template<typename T , typename P , typename E >
P mln::internal::run_image_< T, P, E >::point_at ( const typename p_set_of< p_run< P > >::psite ps  )  const [inline]

Give the point represented by the point-site.

Use the coordinate of the psite to see what point it corresponds with the domain of the image.

Returns:
The corresponding point.

Definition at line 117 of file run_image.hh.

References mln::exact().

const t_eligible_values_set& mln::internal::image_base< P , p_set_of< p_run< P > > , E >::values_eligible (  )  const [inherited]
const t_values_space& mln::internal::image_base< P , p_set_of< p_run< P > > , 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< P , p_set_of< p_run< P > > , E >::data_ [protected, inherited]