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

mln::p_vaccess< V, S > Class Template Reference
[Sparse types]

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

#include <p_vaccess.hh>

Inheritance diagram for mln::p_vaccess< V, S >:
Inheritance graph

List of all members.

Public Types

typedef p_double_piter< self_,
typename vset::bkd_viter,
typename S::bkd_piter > 
bkd_piter
 Backward Site_Iterator associated type.
typedef Site_Set< void > category
typedef S::element element
 Element associated type.
typedef p_vaccess< V, S > exact_t
typedef p_double_piter< self_,
typename vset::fwd_viter,
typename S::fwd_piter > 
fwd_piter
 Forward Site_Iterator associated type.
typedef std::pair< V, elementi_element
 Insertion element associated type.
typedef fwd_piter piter
 Site_Iterator associated type.
typedef S pset
 Inner site set associated type.
typedef p_double_psite< self_, S > psite
 Psite associated type.
typedef subject< S::site >::ret site
 Site associated type.
typedef vset t_eligible_values_set
typedef V value
 Value associated type.
typedef mln::value::set< V > vset
 Value_Set associated type.

Public Member Functions

void clear ()
bool has (const psite &p) const
 Test if p belongs to this site set.
bool has (const V &v, const typename S::psite &p) const
 Test if the couple (value v, psite p) belongs to this site set.
void insert (const i_element &v_e)
 Insert a pair v_e (value v, element e).
void insert (const V &v, const element &e)
 Insert e at value v.
bool is_empty () const
 Test if the site set is empty.
bool is_valid () const
 Test if this site set is valid.
std::size_t memory_size () const
 Return the size of this site set in memory.
const S & operator() (const V &v) const
 Return the site set at value v.
 p_vaccess (const V &vset)
 p_vaccess ()
 Constructor.
const mln::value::set< V > & set_1_ () const
const S & set_2_ (const V &v) const
const mln::value::set< V > & values () const
 Give the set of values.

Protected Member Functions

void update_nsites_ (const T &)

Protected Attributes

std::vector< S > ps_
mln::value::set< V > vs_

Private Types

typedef p_vaccess< V, S > self_

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 70 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 94 of file p_vaccess.hh.

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

Reimplemented from mln::Object< p_vaccess< V, S > >.

Definition at line 67 of file mln/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 117 of file p_vaccess.hh.

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

Definition at line 173 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 91 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 120 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 97 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 85 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 88 of file p_vaccess.hh.

template<typename V , typename S >
typedef p_vaccess<V,S> mln::p_vaccess< V, S >::self_ [private]

Definition at line 74 of file p_vaccess.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 55 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 82 of file p_vaccess.hh.

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

Value associated type.

Definition at line 78 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 81 of file p_vaccess.hh.


Constructor & Destructor Documentation

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

Constructor.

Definition at line 163 of file p_vaccess.hh.

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

Definition at line 171 of file p_vaccess.hh.


Member Function Documentation

template<typename V , typename S >
void mln::p_vaccess< V, S >::clear (  )  [inline]

Definition at line 224 of file p_vaccess.hh.

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

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

Definition at line 189 of file p_vaccess.hh.

template<typename V , typename S >
bool mln::p_vaccess< V, S >::has ( const psite p  )  const [inline]

Test if p belongs to this site set.

Definition at line 180 of file p_vaccess.hh.

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

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

Definition at line 216 of file p_vaccess.hh.

template<typename V , typename S >
void mln::p_vaccess< V, S >::insert ( const V &  v,
const element e 
) [inline]
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 [inline]

Test if this site set is valid.

Definition at line 197 of file p_vaccess.hh.

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

Return the size of this site set in memory.

Definition at line 242 of file p_vaccess.hh.

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

Return the site set at value v.

Definition at line 234 of file p_vaccess.hh.

template<typename V , typename S >
const mln::value::set< V > & mln::p_vaccess< V, S >::set_1_ (  )  const [inline]

Definition at line 262 of file p_vaccess.hh.

template<typename V , typename S >
const S & mln::p_vaccess< V, S >::set_2_ ( const V &  v  )  const [inline]

Definition at line 270 of file p_vaccess.hh.

void mln::internal::site_set_impl__nsites< mln_trait_site_set_nsites(S) , S >::update_nsites_ ( const T &   )  [protected, inherited]
template<typename V , typename S >
const mln::value::set< V > & mln::p_vaccess< V, S >::values (  )  const [inline]

Give the set of values.

Definition at line 254 of file p_vaccess.hh.


Member Data Documentation

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

Definition at line 150 of file p_vaccess.hh.

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

Definition at line 149 of file p_vaccess.hh.