Public Types | Public Member Functions | Protected Attributes

mln::p_run< P > Class Template Reference
[Basic types]

Point set class in run. More...

#include <p_run.hh>

Inheritance diagram for mln::p_run< P >:
Inheritance graph

List of all members.

Public Types

typedef p_run_bkd_piter_< P > bkd_piter
 Backward Site_Iterator associated type.
typedef Site_Set< void > category
typedef P element
 Element associated type.
typedef p_run< P > exact_t
typedef p_run_fwd_piter_< P > fwd_piter
 Forward Site_Iterator associated type.
typedef fwd_piter piter
 Site_Iterator associated type.
typedef p_run_psite< P > psite
 Psite associated type.
typedef mln::box< P > q_box
 Box associated type.
typedef subject< P >::ret site
 Site associated type.

Public Member Functions

mln::box< P > bbox () const
 Give the exact bounding box.
end () const
 Return (compute) the ending point.
bool has (const P &p) const
 Test if p belongs to this point set.
bool has (const psite &p) const
 Test if p belongs to this point set.
bool has_index (unsigned short i) const
 Test if index i belongs to this point set.
void init (const P &start, unsigned short len)
 Set the starting point.
bool is_empty () const
 Test if the site set is empty.
bool is_valid () const
 Test if this run is valid, i.e., with length > 0.
unsigned short length () const
 Give the length of the run.
std::size_t memory_size () const
 Return the size of this site set in memory.
unsigned nsites () const
 Give the number of sites.
operator[] (unsigned short i) const
 Return the i-th point.
 p_run ()
 Constructor without argument.
 p_run (const P &start, const P &end)
 Constructor.
 p_run (const P &start, unsigned short len)
 Constructor.
const P & start () const
 Return the starting point.

Protected Attributes

unsigned len_
 The length of the run.
start_
 The first point of the run.

Detailed Description

template<typename P>
class mln::p_run< P >

Point set class in run.

This is a mathematical set of points (not a multi-set). The parameter P shall be a Point type.

Todo:
Test if P being a Point_Site is ok.

Definition at line 86 of file p_run.hh.


Member Typedef Documentation

template<typename P>
typedef p_run_bkd_piter_<P> mln::p_run< P >::bkd_piter

Backward Site_Iterator associated type.

Definition at line 101 of file p_run.hh.

typedef Site_Set<void> mln::Site_Set< p_run< P > >::category [inherited]

Reimplemented from mln::Object< p_run< P > >.

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

template<typename P>
typedef P mln::p_run< P >::element

Element associated type.

Definition at line 91 of file p_run.hh.

typedef p_run< P > mln::Object< p_run< P > >::exact_t [inherited]

Definition at line 173 of file object.hh.

template<typename P>
typedef p_run_fwd_piter_<P> mln::p_run< P >::fwd_piter

Forward Site_Iterator associated type.

Definition at line 98 of file p_run.hh.

template<typename P>
typedef fwd_piter mln::p_run< P >::piter

Site_Iterator associated type.

Definition at line 104 of file p_run.hh.

template<typename P>
typedef p_run_psite<P> mln::p_run< P >::psite

Psite associated type.

Definition at line 95 of file p_run.hh.

template<typename P>
typedef mln::box<P> mln::p_run< P >::q_box

Box associated type.

Definition at line 149 of file p_run.hh.

typedef subject<P>::ret mln::internal::site_set_base_< P, p_run< P > >::site [inherited]

Site associated type.

Definition at line 55 of file site_set_base.hh.


Constructor & Destructor Documentation

template<typename P >
mln::p_run< P >::p_run (  )  [inline]

Constructor without argument.

Definition at line 223 of file p_run.hh.

References mln::p_run< P >::len_.

template<typename P >
mln::p_run< P >::p_run ( const P &  start,
unsigned short  len 
) [inline]

Constructor.

Definition at line 230 of file p_run.hh.

References mln::p_run< P >::init().

template<typename P >
mln::p_run< P >::p_run ( const P &  start,
const P &  end 
) [inline]

Constructor.

Definition at line 238 of file p_run.hh.

References mln::cut_(), and mln::p_run< P >::len_.


Member Function Documentation

template<typename P >
mln::box< P > mln::p_run< P >::bbox (  )  const [inline]

Give the exact bounding box.

Definition at line 267 of file p_run.hh.

References mln::p_run< P >::end(), and mln::p_run< P >::start_.

template<typename P >
P mln::p_run< P >::end (  )  const [inline]

Return (compute) the ending point.

Definition at line 348 of file p_run.hh.

References mln::p_run< P >::len_, and mln::p_run< P >::start_.

Referenced by mln::p_run< P >::bbox().

template<typename P >
bool mln::p_run< P >::has ( const psite p  )  const [inline]
template<typename P >
bool mln::p_run< P >::has ( const P &  p  )  const [inline]

Test if p belongs to this point set.

Definition at line 289 of file p_run.hh.

References mln::cut_(), mln::p_run< P >::is_valid(), mln::p_run< P >::len_, and mln::p_run< P >::start_.

template<typename P >
bool mln::p_run< P >::has_index ( unsigned short  i  )  const [inline]

Test if index i belongs to this point set.

Definition at line 302 of file p_run.hh.

References mln::p_run< P >::len_.

template<typename P >
void mln::p_run< P >::init ( const P &  start,
unsigned short  len 
) [inline]

Set the starting point.

Definition at line 249 of file p_run.hh.

References mln::p_run< P >::len_, and mln::p_run< P >::start_.

Referenced by mln::p_run< P >::p_run().

bool mln::internal::site_set_base_< P, p_run< 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<typename P >
bool mln::p_run< P >::is_valid (  )  const [inline]

Test if this run is valid, i.e., with length > 0.

Definition at line 259 of file p_run.hh.

References mln::p_run< P >::len_.

Referenced by mln::p_run< P >::has(), mln::p_run< P >::length(), mln::p_run< P >::nsites(), and mln::p_run< P >::operator[]().

template<typename P >
unsigned short mln::p_run< P >::length (  )  const [inline]

Give the length of the run.

Definition at line 319 of file p_run.hh.

References mln::p_run< P >::is_valid(), and mln::p_run< P >::len_.

template<typename P >
std::size_t mln::p_run< P >::memory_size (  )  const [inline]

Return the size of this site set in memory.

Definition at line 358 of file p_run.hh.

template<typename P >
unsigned mln::p_run< P >::nsites (  )  const [inline]

Give the number of sites.

Definition at line 310 of file p_run.hh.

References mln::p_run< P >::is_valid(), and mln::p_run< P >::len_.

template<typename P >
P mln::p_run< P >::operator[] ( unsigned short  i  )  const [inline]

Return the i-th point.

Definition at line 328 of file p_run.hh.

References mln::p_run< P >::is_valid(), mln::p_run< P >::len_, and mln::p_run< P >::start_.

template<typename P >
const P & mln::p_run< P >::start (  )  const [inline]

Return the starting point.

Definition at line 340 of file p_run.hh.

References mln::p_run< P >::start_.

Referenced by mln::p_run_psite< P >::p_run_psite().


Member Data Documentation

template<typename P>
unsigned mln::p_run< P >::len_ [protected]
template<typename P>
P mln::p_run< P >::start_ [protected]