$extrastylesheet
Olena  User documentation 2.1
An Image Processing Platform
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
mln::p_vaccess< V, S > Class Template Reference

#include <mln/core/site_set/p_vaccess.hh>

Public Member Functions

 p_vaccess ()
 p_vaccess (const V &vset)
q_box bbox () const
void clear ()
bool has (const psite &p) const
bool has (const V &v, const typename S::psite &p) const
void insert (const i_element &v_e)
void insert (const V &v, const element &e)
bool is_empty () const
bool is_valid () const
std::size_t memory_size () const
const S & operator() (const V &v) const
const mln::value::set< V > & values () const

Protected Member Functions

void update_bbox_ (const typename S::site &p)
void update_bbox_ (const Site_Set< S > &s)
void update_nsites_ (const T &)

Protected Attributes

accu::shape::bbox< typename
S::site > 
bb_
std::vector< S > ps_
mln::value::set< V > vs_

Public Types

typedef p_double_piter< self_,
typename vset::bkd_viter,
typename S::bkd_piter > 
bkd_piter
typedef Site_Set< void > category
typedef S::element element
typedef p_vaccess< V, S > exact_t
typedef p_double_piter< self_,
typename vset::fwd_viter,
typename S::fwd_piter > 
fwd_piter
typedef std::pair< V, elementi_element
typedef fwd_piter piter
typedef S pset
typedef p_double_psite< self_, S > psite
typedef const mln::box
< typename S::site > & 
q_box
typedef subject< S::site >::ret site
typedef vset t_eligible_values_set
typedef V value
typedef mln::value::set< V > vset

Detailed Description

template<typename V, typename S>
class mln::p_vaccess< V, S >

Site set in which sites are grouped by their associated value.

Definition at line 72 of file p_vaccess.hh.

Constructor & Destructor Documentation

template<typename V , typename S >
mln::p_vaccess< V, S >::p_vaccess ( )

Constructor.

template<typename V , typename S >
mln::p_vaccess< V, S >::p_vaccess ( const V &  vset)

Member Function Documentation

q_box mln::internal::site_set_impl__bbox< mln_trait_site_set_bbox(S) , S >::bbox ( ) const
inherited
template<typename V , typename S >
void mln::p_vaccess< V, S >::clear ( )
template<typename V , typename S >
bool mln::p_vaccess< V, S >::has ( const psite p) const

Test if p belongs to this site set.

template<typename V , typename S >
bool mln::p_vaccess< V, S >::has ( const V &  v,
const typename S::psite &  p 
) const

Test if the couple (value v, psite p) belongs to this site set.

template<typename V , typename S >
void mln::p_vaccess< V, S >::insert ( const i_element v_e)

Insert a pair v_e (value v, element e).

template<typename V , typename S >
void mln::p_vaccess< V, S >::insert ( const V &  v,
const element e 
)

Insert e at value v.

bool mln::internal::site_set_base_< S::site , p_vaccess< V, S > >::is_empty ( ) const
inherited

Test if the site set is empty.

This final method dispatches to is_empty_ whose default implementation relies on the 'nsites' method.

template<typename V , typename S >
bool mln::p_vaccess< V, S >::is_valid ( ) const

Test if this site set is valid.

template<typename V , typename S >
std::size_t mln::p_vaccess< V, S >::memory_size ( ) const

Return the size of this site set in memory.

template<typename V , typename S >
const S& mln::p_vaccess< V, S >::operator() ( const V &  v) const

Return the site set at value v.

void mln::internal::site_set_impl__bbox< mln_trait_site_set_bbox(S) , S >::update_bbox_ ( const typename S ::site p)
protectedinherited
void mln::internal::site_set_impl__bbox< mln_trait_site_set_bbox(S) , S >::update_bbox_ ( const Site_Set< S > &  s)
protectedinherited
void mln::internal::site_set_impl__nsites< mln_trait_site_set_nsites(S) , S >::update_nsites_ ( const T )
protectedinherited
template<typename V , typename S >
const mln::value::set<V>& mln::p_vaccess< V, S >::values ( ) const

Give the set of values.

Member Data Documentation

accu::shape::bbox<typename S ::site> mln::internal::site_set_impl__bbox< mln_trait_site_set_bbox(S) , S >::bb_
protectedinherited

Definition at line 87 of file site_set_impl.hh.

template<typename V , typename S >
std::vector<S> mln::p_vaccess< V, S >::ps_
protected

Definition at line 154 of file p_vaccess.hh.

template<typename V , typename S >
mln::value::set<V> mln::p_vaccess< V, S >::vs_
protected

Definition at line 153 of file p_vaccess.hh.

Member Typedef Documentation

template<typename V , typename S >
typedef p_double_piter<self_, typename vset ::bkd_viter, typename S ::bkd_piter> mln::p_vaccess< V, S >::bkd_piter

Backward Site_Iterator associated type.

Definition at line 96 of file p_vaccess.hh.

typedef Site_Set<void> mln::Site_Set< p_vaccess< V, S > >::category
inherited

Definition at line 74 of file core/concept/site_set.hh.

template<typename V , typename S >
typedef S ::element mln::p_vaccess< V, S >::element

Element associated type.

Definition at line 119 of file p_vaccess.hh.

typedef p_vaccess< V, S > mln::Object< p_vaccess< V, S > >::exact_t
inherited

Definition at line 105 of file object.hh.

template<typename V , typename S >
typedef p_double_piter<self_, typename vset ::fwd_viter, typename S ::fwd_piter> mln::p_vaccess< V, S >::fwd_piter

Forward Site_Iterator associated type.

Definition at line 93 of file p_vaccess.hh.

template<typename V , typename S >
typedef std::pair<V, element> mln::p_vaccess< V, S >::i_element

Insertion element associated type.

Definition at line 122 of file p_vaccess.hh.

template<typename V , typename S >
typedef fwd_piter mln::p_vaccess< V, S >::piter

Site_Iterator associated type.

Definition at line 99 of file p_vaccess.hh.

template<typename V , typename S >
typedef S mln::p_vaccess< V, S >::pset

Inner site set associated type.

Definition at line 87 of file p_vaccess.hh.

template<typename V , typename S >
typedef p_double_psite<self_, S> mln::p_vaccess< V, S >::psite

Psite associated type.

Definition at line 90 of file p_vaccess.hh.

typedef const mln::box<typename S ::site>& mln::internal::site_set_impl__bbox< mln_trait_site_set_bbox(S) , S >::q_box
inherited

Definition at line 79 of file site_set_impl.hh.

typedef subject<S::site >::ret mln::internal::site_set_base_< S::site , p_vaccess< V, S > >::site
inherited

Site associated type.

Definition at line 58 of file site_set_base.hh.

template<typename V , typename S >
typedef vset mln::p_vaccess< V, S >::t_eligible_values_set

Definition at line 84 of file p_vaccess.hh.

template<typename V , typename S >
typedef V mln::p_vaccess< V, S >::value

Value associated type.

Definition at line 80 of file p_vaccess.hh.

template<typename V , typename S >
typedef mln::value::set<V> mln::p_vaccess< V, S >::vset

Value_Set associated type.

Definition at line 83 of file p_vaccess.hh.