Point set class in run. More...
#include <p_run.hh>
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. | |
P | 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. | |
P | 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. | |
P | start_ |
The first point of the run. |
Point set class in run.
This is a mathematical set of points (not a multi-set). The parameter P
shall be a Point type.
P
being a Point_Site is ok. typedef p_run_bkd_piter_<P> mln::p_run< P >::bkd_piter |
Backward Site_Iterator associated type.
typedef Site_Set<void> mln::Site_Set< p_run< P > >::category [inherited] |
Reimplemented from mln::Object< p_run< P > >.
typedef P mln::p_run< P >::element |
Element associated type.
typedef p_run< P > mln::Object< p_run< P > >::exact_t [inherited] |
typedef p_run_fwd_piter_<P> mln::p_run< P >::fwd_piter |
Forward Site_Iterator associated type.
typedef fwd_piter mln::p_run< P >::piter |
Site_Iterator associated type.
typedef p_run_psite<P> mln::p_run< P >::psite |
Psite associated type.
typedef mln::box<P> mln::p_run< P >::q_box |
Box associated type.
typedef subject<P>::ret mln::internal::site_set_base_< P, p_run< P > >::site [inherited] |
Site associated type.
mln::p_run< P >::p_run | ( | ) | [inline] |
Constructor without argument.
References mln::p_run< P >::len_.
mln::p_run< P >::p_run | ( | const P & | start, | |
unsigned short | len | |||
) | [inline] |
Constructor.
References mln::p_run< P >::init().
mln::p_run< P >::p_run | ( | const P & | start, | |
const P & | end | |||
) | [inline] |
Constructor.
References mln::cut_(), and mln::p_run< P >::len_.
mln::box< P > mln::p_run< P >::bbox | ( | ) | const [inline] |
Give the exact bounding box.
References mln::p_run< P >::end(), and mln::p_run< P >::start_.
P mln::p_run< P >::end | ( | ) | const [inline] |
Return (compute) the ending point.
References mln::p_run< P >::len_, and mln::p_run< P >::start_.
Referenced by mln::p_run< P >::bbox().
bool mln::p_run< P >::has | ( | const psite & | p | ) | const [inline] |
Test if p
belongs to this point set.
References mln::p_run_psite< P >::index(), mln::p_run< P >::len_, mln::p_run_psite< P >::target_(), and mln::internal::pseudo_site_base_< P, E >::to_site().
bool mln::p_run< P >::has | ( | const P & | p | ) | const [inline] |
Test if p
belongs to this point set.
References mln::cut_(), mln::p_run< P >::is_valid(), mln::p_run< P >::len_, and mln::p_run< P >::start_.
bool mln::p_run< P >::has_index | ( | unsigned short | i | ) | const [inline] |
Test if index i
belongs to this point set.
References mln::p_run< P >::len_.
void mln::p_run< P >::init | ( | const P & | start, | |
unsigned short | len | |||
) | [inline] |
Set the starting point.
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.
bool mln::p_run< P >::is_valid | ( | ) | const [inline] |
Test if this run is valid, i.e., with length > 0.
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[]().
unsigned short mln::p_run< P >::length | ( | ) | const [inline] |
Give the length of the run.
References mln::p_run< P >::is_valid(), and mln::p_run< P >::len_.
std::size_t mln::p_run< P >::memory_size | ( | ) | const [inline] |
Return the size of this site set in memory.
unsigned mln::p_run< P >::nsites | ( | ) | const [inline] |
Give the number of sites.
References mln::p_run< P >::is_valid(), and mln::p_run< P >::len_.
P mln::p_run< P >::operator[] | ( | unsigned short | i | ) | const [inline] |
Return the i-th
point.
References mln::p_run< P >::is_valid(), mln::p_run< P >::len_, and mln::p_run< P >::start_.
const P & mln::p_run< P >::start | ( | ) | const [inline] |
Return the starting point.
References mln::p_run< P >::start_.
Referenced by mln::p_run_psite< P >::p_run_psite().
unsigned mln::p_run< P >::len_ [protected] |
The length of the run.
Referenced by mln::p_run< P >::end(), mln::p_run< P >::has(), mln::p_run< P >::has_index(), mln::p_run< P >::init(), mln::p_run< P >::is_valid(), mln::p_run< P >::length(), mln::p_run< P >::nsites(), mln::p_run< P >::operator[](), and mln::p_run< P >::p_run().
P mln::p_run< P >::start_ [protected] |
The first point of the run.
Referenced by mln::p_run< P >::bbox(), mln::p_run< P >::end(), mln::p_run< P >::has(), mln::p_run< P >::init(), mln::p_run< P >::operator[](), and mln::p_run< P >::start().