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.
1.7.1