Public Types | Public Member Functions | Private Attributes

mln::p_faces< N, D, P > Struct Template Reference
[Graph based]

A complex psite set based on a the N-faces of a complex of dimension D (a D-complex). More...

#include <p_faces.hh>

Inheritance diagram for mln::p_faces< N, D, P >:
Inheritance graph

List of all members.

Public Types

typedef Site_Set< void > category
typedef p_faces< N, D, P > exact_t
typedef p_faces< N, D, P > self_
typedef subject< faces_psite
< N, D, P > >::ret 
site
 Site associated type.
typedef
internal::site_set_base_
< faces_psite< N, D, P >
, self_
super_

typedef super_::site element
 Associated types.
typedef faces_psite< N, D, P > psite
 Point_Site associated type.
typedef p_faces_fwd_piter_< N,
D, P > 
fwd_piter
 Forward Site_Iterator associated type.
typedef p_faces_bkd_piter_< N,
D, P > 
bkd_piter
 Backward Site_Iterator associated type.
typedef fwd_piter piter
 Site_Iterator associated type.

Public Member Functions

bool has (const psite &p) const
bool is_empty () const
 Test if the site set is empty.
bool is_valid () const
 Is this site set valid?
std::size_t memory_size () const
unsigned nfaces () const
 Return The number of faces in the complex.
unsigned nsites () const
 Return The number of sites of the set, i.e., the number of faces.
 p_faces (const topo::complex< D > &cplx)
 Construct a faces psite set from an mln::complex.
 p_faces (const p_complex< D, P > &pc)
 Construct a faces psite set from an mln::p_complex.

topo::complex< D > & cplx () const
 Accessors.
topo::complex< D > & cplx ()
 Return the complex associated to the p_faces domain (mutable version).

Private Attributes

topo::complex< D > cplx_
 The complex on which this pset is built.

Detailed Description

template<unsigned N, unsigned D, typename P>
struct mln::p_faces< N, D, P >

A complex psite set based on a the N-faces of a complex of dimension D (a D-complex).


Member Typedef Documentation

template<unsigned N, unsigned D, typename P>
typedef p_faces_bkd_piter_<N, D, P> mln::p_faces< N, D, P >::bkd_piter

Backward Site_Iterator associated type.

typedef Site_Set<void> mln::Site_Set< p_faces< N, D, P > >::category [inherited]

Reimplemented from mln::Object< p_faces< N, D, P > >.

template<unsigned N, unsigned D, typename P>
typedef super_ ::site mln::p_faces< N, D, P >::element

Associated types.

Element associated type.

typedef p_faces< N, D, P > mln::Object< p_faces< N, D, P > >::exact_t [inherited]
template<unsigned N, unsigned D, typename P>
typedef p_faces_fwd_piter_<N, D, P> mln::p_faces< N, D, P >::fwd_piter

Forward Site_Iterator associated type.

template<unsigned N, unsigned D, typename P>
typedef fwd_piter mln::p_faces< N, D, P >::piter

Site_Iterator associated type.

template<unsigned N, unsigned D, typename P>
typedef faces_psite<N, D, P> mln::p_faces< N, D, P >::psite

Point_Site associated type.

template<unsigned N, unsigned D, typename P>
typedef p_faces<N, D, P> mln::p_faces< N, D, P >::self_
typedef subject<faces_psite< N, D, P > >::ret mln::internal::site_set_base_< faces_psite< N, D, P > , p_faces< N, D, P > >::site [inherited]

Site associated type.

template<unsigned N, unsigned D, typename P>
typedef internal::site_set_base_< faces_psite<N, D, P>, self_ > mln::p_faces< N, D, P >::super_

Constructor & Destructor Documentation

template<unsigned N, unsigned D, typename P >
mln::p_faces< N, D, P >::p_faces ( const topo::complex< D > &  cplx  )  [inline]

Construct a faces psite set from an mln::complex.

Parameters:
cplx The complex upon which the complex psite set is built.
template<unsigned N, unsigned D, typename P >
mln::p_faces< N, D, P >::p_faces ( const p_complex< D, P > &  pc  )  [inline]

Construct a faces psite set from an mln::p_complex.

Parameters:
pc The complex upon which the complex psite set is built.
Todo:
When available, get location information from pc.

Member Function Documentation

template<unsigned N, unsigned D, typename P >
topo::complex< D > & mln::p_faces< N, D, P >::cplx (  )  const

Accessors.

Return the complex associated to the p_faces domain (const version).

References mln::p_faces< N, D, P >::is_valid().

Referenced by mln::faces_psite< N, D, P >::change_target(), and mln::operator==().

template<unsigned N, unsigned D, typename P >
topo::complex< D > & mln::p_faces< N, D, P >::cplx (  ) 

Return the complex associated to the p_faces domain (mutable version).

References mln::p_faces< N, D, P >::is_valid().

template<unsigned N, unsigned D, typename P >
bool mln::p_faces< N, D, P >::has ( const psite p  )  const [inline]
bool mln::internal::site_set_base_< faces_psite< N, D, P > , p_faces< N, D, P > >::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<unsigned N, unsigned D, typename P >
bool mln::p_faces< N, D, P >::is_valid (  )  const [inline]

Is this site set valid?

Referenced by mln::p_faces< N, D, P >::cplx(), and mln::p_faces< N, D, P >::has().

template<unsigned N, unsigned D, typename P >
std::size_t mln::p_faces< N, D, P >::memory_size (  )  const [inline]
template<unsigned N, unsigned D, typename P >
unsigned mln::p_faces< N, D, P >::nfaces (  )  const [inline]

Return The number of faces in the complex.

Referenced by mln::p_faces< N, D, P >::nsites().

template<unsigned N, unsigned D, typename P >
unsigned mln::p_faces< N, D, P >::nsites (  )  const [inline]

Return The number of sites of the set, i.e., the number of faces.

(Required by the mln::Site_Set concept, since the property trait::site_set::nsites::known of this site set is set to `known'.)

References mln::p_faces< N, D, P >::nfaces().


Member Data Documentation

template<unsigned N, unsigned D, typename P>
topo::complex<D> mln::p_faces< N, D, P >::cplx_ [mutable, private]

The complex on which this pset is built.