A base class for site set classes. More...
#include <site_set_base.hh>
Public Types | |
typedef Site_Set< void > | category |
typedef E | exact_t |
typedef subject< P >::ret | site |
Site associated type. | |
Public Member Functions | |
bool | is_empty () const |
Test if the site set is empty. | |
Protected Member Functions | |
site_set_base_ () | |
Private Member Functions | |
bool | is_empty_ () const |
Related Functions | |
(Note that these are not member functions.) | |
template<typename Sl , typename Sr > | |
p_set< typename Sl::site > | diff (const Site_Set< Sl > &lhs, const Site_Set< Sr > &rhs) |
Set theoretic difference of lhs and rhs . | |
template<typename Sl , typename Sr > | |
p_set< typename Sl::site > | inter (const Site_Set< Sl > &lhs, const Site_Set< Sr > &rhs) |
Intersection between a couple of point sets. | |
template<typename Sl , typename Sr > | |
bool | operator< (const Site_Set< Sl > &lhs, const Site_Set< Sr > &rhs) |
Strict inclusion test between site sets lhs and rhs . | |
template<typename S > | |
std::ostream & | operator<< (std::ostream &ostr, const Site_Set< S > &set) |
Print a site set set into the output stream ostr . | |
template<typename Sl , typename Sr > | |
bool | operator<= (const Site_Set< Sl > &lhs, const Site_Set< Sr > &rhs) |
Inclusion test between site sets lhs and rhs . | |
template<typename Sl , typename Sr > | |
bool | operator== (const Site_Set< Sl > &lhs, const Site_Set< Sr > &rhs) |
Equality test between site sets lhs and rhs . | |
template<typename Sl , typename Sr > | |
p_set< typename Sl::site > | sym_diff (const Site_Set< Sl > &lhs, const Site_Set< Sr > &rhs) |
Set theoretic symmetrical difference of lhs and rhs . | |
template<typename Sl , typename Sr > | |
p_set< typename Sl::site > | uni (const Site_Set< Sl > &lhs, const Site_Set< Sr > &rhs) |
Union of a couple of point sets. | |
template<typename S > | |
p_set< typename S::site > | unique (const Site_Set< S > &s) |
Give the unique set of s . |
A base class for site set classes.
P | The psite type of what is ``contained'' in the site set, not the psite of the site set (which is different, and defined by the site set itself). | |
E | The exact type of the site set. |
typedef Site_Set<void> mln::Site_Set< E >::category [inherited] |
Reimplemented from mln::Object< E >.
typedef E mln::Object< E >::exact_t [inherited] |
typedef subject<P>::ret mln::internal::site_set_base_< P, E >::site |
Site associated type.
mln::internal::site_set_base_< P, E >::site_set_base_ | ( | ) | [inline, protected] |
bool mln::internal::site_set_base_< P, E >::is_empty | ( | ) | const [inline] |
Test if the site set is empty.
This final method dispatches to is_empty_ whose default implementation relies on the 'nsites' method.
References mln::exact().
Referenced by mln::p_line2d::is_valid().
bool mln::internal::site_set_base_< P, E >::is_empty_ | ( | ) | const [inline, private] |
Reimplemented in mln::p_mutable_array_of< S >.
References mln::exact().
p_set< typename Sl::site > diff | ( | const Site_Set< Sl > & | lhs, | |
const Site_Set< Sr > & | rhs | |||
) | [related, inherited] |
Set theoretic difference of lhs
and rhs
.
p_set< typename Sl::site > inter | ( | const Site_Set< Sl > & | lhs, | |
const Site_Set< Sr > & | rhs | |||
) | [related, inherited] |
Intersection between a couple of point sets.
bool operator< | ( | const Site_Set< Sl > & | lhs, | |
const Site_Set< Sr > & | rhs | |||
) | [related, inherited] |
Strict inclusion test between site sets lhs
and rhs
.
[in] | lhs | A site set (strictly included?). |
[in] | rhs | Another site set (includer?). |
std::ostream & operator<< | ( | std::ostream & | ostr, | |
const Site_Set< S > & | set | |||
) | [related, inherited] |
Print a site set set
into the output stream ostr
.
[in,out] | ostr | An output stream. |
[in] | set | A site set. |
ostr
. bool operator<= | ( | const Site_Set< Sl > & | lhs, | |
const Site_Set< Sr > & | rhs | |||
) | [related, inherited] |
Inclusion test between site sets lhs
and rhs
.
[in] | lhs | A site set (included?). |
[in] | rhs | Another site set (includer?). |
bool operator== | ( | const Site_Set< Sl > & | lhs, | |
const Site_Set< Sr > & | rhs | |||
) | [related, inherited] |
Equality test between site sets lhs
and rhs
.
[in] | lhs | A site set. |
[in] | rhs | Another site set. |
p_set< typename Sl::site > sym_diff | ( | const Site_Set< Sl > & | lhs, | |
const Site_Set< Sr > & | rhs | |||
) | [related, inherited] |
Set theoretic symmetrical difference of lhs
and rhs
.
p_set< typename Sl::site > uni | ( | const Site_Set< Sl > & | lhs, | |
const Site_Set< Sr > & | rhs | |||
) | [related, inherited] |
Union of a couple of point sets.