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

mln::p_if< S, F > Class Template Reference
[Sparse types]

Site set restricted w.r.t. More...

#include <p_if.hh>

Inheritance diagram for mln::p_if< S, F >:
Inheritance graph

List of all members.

Public Types

typedef p_if_piter_< typename
S::bkd_piter, S, F > 
bkd_piter
 Backward Site_Iterator associated type.
typedef Site_Set< void > category
typedef S::element element
 Element associated type.
typedef p_if< S, F > exact_t
typedef p_if_piter_< typename
S::fwd_piter, S, F > 
fwd_piter
 Forward Site_Iterator associated type.
typedef fwd_piter piter
 Site_Iterator associated type.
typedef S::psite psite
 Psite associated type.
typedef subject< S::psite >::ret site
 Site associated type.

Public Member Functions

bool has (const psite &p) const
 Test if p belongs to the subset.
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 & overset () const
 Give the primary overset.
 p_if ()
 Constructor without argument.
 p_if (const S &s, const F &f)
 Constructor with a site set s and a predicate f.
bool pred (const psite &p) const
 Test predicate on point site p.
const F & predicate () const
 Give the predicate function.

Protected Attributes

f_
s_

Private Types

typedef p_if< S, F > self_
typedef
internal::site_set_base_
< typename S::psite, self_
super_

Detailed Description

template<typename S, typename F>
class mln::p_if< S, F >

Site set restricted w.r.t.

a predicate.

Parameter S is a site set type; parameter F is a function from point to Boolean.

Definition at line 83 of file p_if.hh.


Member Typedef Documentation

template<typename S, typename F>
typedef p_if_piter_<typename S ::bkd_piter, S, F> mln::p_if< S, F >::bkd_piter

Backward Site_Iterator associated type.

Definition at line 100 of file p_if.hh.

typedef Site_Set<void> mln::Site_Set< p_if< S, F > >::category [inherited]

Reimplemented from mln::Object< p_if< S, F > >.

Definition at line 67 of file mln/core/concept/site_set.hh.

template<typename S, typename F>
typedef S ::element mln::p_if< S, F >::element

Element associated type.

Definition at line 90 of file p_if.hh.

typedef p_if< S, F > mln::Object< p_if< S, F > >::exact_t [inherited]

Definition at line 173 of file object.hh.

template<typename S, typename F>
typedef p_if_piter_<typename S ::fwd_piter, S, F> mln::p_if< S, F >::fwd_piter

Forward Site_Iterator associated type.

Definition at line 97 of file p_if.hh.

template<typename S, typename F>
typedef fwd_piter mln::p_if< S, F >::piter

Site_Iterator associated type.

Definition at line 103 of file p_if.hh.

template<typename S, typename F>
typedef S ::psite mln::p_if< S, F >::psite

Psite associated type.

Definition at line 94 of file p_if.hh.

template<typename S, typename F>
typedef p_if<S,F> mln::p_if< S, F >::self_ [private]

Definition at line 85 of file p_if.hh.

typedef subject<S::psite >::ret mln::internal::site_set_base_< S::psite , p_if< S, F > >::site [inherited]

Site associated type.

Definition at line 55 of file site_set_base.hh.

template<typename S, typename F>
typedef internal::site_set_base_<typename S ::psite, self_> mln::p_if< S, F >::super_ [private]

Definition at line 86 of file p_if.hh.


Constructor & Destructor Documentation

template<typename S, typename F>
mln::p_if< S, F >::p_if ( const S &  s,
const F &  f 
) [inline]

Constructor with a site set s and a predicate f.

Definition at line 190 of file p_if.hh.

template<typename S, typename F>
mln::p_if< S, F >::p_if (  )  [inline]

Constructor without argument.

Definition at line 198 of file p_if.hh.


Member Function Documentation

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

Test if p belongs to the subset.

Definition at line 159 of file p_if.hh.

References mln::p_if< S, F >::f_, and mln::p_if< S, F >::has().

Referenced by mln::p_if< S, F >::has().

bool mln::internal::site_set_base_< S::psite , p_if< S, F > >::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 S , typename F >
bool mln::p_if< S, F >::is_valid (  )  const [inline]

Test if this site set is valid.

Definition at line 167 of file p_if.hh.

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

Return the size of this site set in memory.

Definition at line 213 of file p_if.hh.

template<typename S , typename F >
const S & mln::p_if< S, F >::overset (  )  const [inline]

Give the primary overset.

Definition at line 175 of file p_if.hh.

Referenced by mln::p_if_piter_< Pi, S, F >::pi_change_target_().

template<typename S , typename F >
bool mln::p_if< S, F >::pred ( const psite p  )  const [inline]

Test predicate on point site p.

Definition at line 183 of file p_if.hh.

References mln::p_if< S, F >::f_.

template<typename S , typename F >
const F & mln::p_if< S, F >::predicate (  )  const [inline]

Give the predicate function.

Definition at line 205 of file p_if.hh.


Member Data Documentation

template<typename S, typename F>
F mln::p_if< S, F >::f_ [protected]

Definition at line 136 of file p_if.hh.

Referenced by mln::p_if< S, F >::has(), and mln::p_if< S, F >::pred().

template<typename S, typename F>
S mln::p_if< S, F >::s_ [protected]

Definition at line 135 of file p_if.hh.