#include <p_vertices.hh>
Inherits mln::internal::site_set_base_< F::result, mln::p_vertices< G, F > >.
Public Types | |
typedef F | fun_t |
Function associated type. | |
typedef util::vertex< G > | graph_element |
Type of graph element this site set focuses on. | |
typedef G | graph_t |
Graph associated type. | |
typedef util::vertex< G > | vertex |
Type of graph vertex. | |
typedef p_graph_piter< self_, mln_vertex_bkd_iter(G) > | bkd_piter |
Backward Site_Iterator associated type. | |
typedef super_::site | element |
Associated types. | |
typedef p_graph_piter< self_, mln_vertex_fwd_iter(G) > | fwd_piter |
Forward Site_Iterator associated type. | |
typedef fwd_piter | piter |
Site_Iterator associated type. | |
typedef p_vertices_psite< G, F > | psite |
Point_Site associated type. | |
Public Member Functions | |
template<typename G2> | |
bool | has (const util::vertex< G2 > &v) const |
Does this site set has v? | |
bool | has (const psite &p) const |
Does this site set has p? | |
void | invalidate () |
Invalidate this site set. | |
bool | is_valid () const |
Test this site set validity. | |
std::size_t | memory_size () const |
Does this site set has vertex_id? FIXME: causes ambiguities while calling has(mln::neighb_fwd_niter<>); bool has(unsigned vertex_id) const;. | |
unsigned | nsites () const |
Return The number of points (sites) of the set, i.e., the number of vertices. | |
unsigned | nvertices () const |
Return The number of vertices in the graph. | |
template<typename F2> | |
p_vertices (const p_vertices< G, F2 > &other) | |
Copy constructor. | |
template<typename F2> | |
p_vertices (const Graph< G > &gr, const Function< F2 > &f) | |
Construct a graph psite set from a graph of points. | |
p_vertices (const Graph< G > &gr, const Function< F > &f) | |
Construct a graph psite set from a graph of points. | |
p_vertices (const Graph< G > &gr) | |
Construct a graph psite set from a graph of points. | |
p_vertices () | |
Constructor without argument. | |
const F & | function () const |
Return the association function. | |
const G & | graph () const |
Accessors. | |
F::result | operator() (const psite &p) const |
Return the value associated to an element of this site set. | |
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 . |
typedef p_graph_piter< self_, mln_vertex_bkd_iter(G) > mln::p_vertices< G, F >::bkd_piter |
Backward Site_Iterator associated type.
typedef super_ ::site mln::p_vertices< G, F >::element |
Associated types.
Element associated type.
typedef F mln::p_vertices< G, F >::fun_t |
Function associated type.
typedef p_graph_piter< self_, mln_vertex_fwd_iter(G) > mln::p_vertices< G, F >::fwd_piter |
Forward Site_Iterator associated type.
typedef util::vertex<G> mln::p_vertices< G, F >::graph_element |
typedef G mln::p_vertices< G, F >::graph_t |
Graph associated type.
typedef fwd_piter mln::p_vertices< G, F >::piter |
Site_Iterator associated type.
typedef p_vertices_psite<G,F> mln::p_vertices< G, F >::psite |
Point_Site associated type.
typedef util::vertex<G> mln::p_vertices< G, F >::vertex |
Type of graph vertex.
mln::p_vertices< G, F >::p_vertices | ( | ) | [inline] |
Constructor without argument.
mln::p_vertices< G, F >::p_vertices | ( | const Graph< G > & | gr | ) | [inline] |
mln::p_vertices< G, F >::p_vertices | ( | const Graph< G > & | gr, | |
const Function< F > & | f | |||
) | [inline] |
mln::p_vertices< G, F >::p_vertices | ( | const Graph< G > & | gr, | |
const Function< F2 > & | f | |||
) | [inline] |
mln::p_vertices< G, F >::p_vertices | ( | const p_vertices< G, F2 > & | other | ) | [inline] |
Copy constructor.
References mln::p_vertices< G, F >::function(), mln::p_vertices< G, F >::graph(), and mln::p_vertices< G, F >::is_valid().
const F & mln::p_vertices< G, F >::function | ( | ) | const [inline] |
const G & mln::p_vertices< G, F >::graph | ( | ) | const [inline] |
Accessors.
Return the graph associated to this site set (const version)
References mln::p_vertices< G, F >::is_valid().
Referenced by mln::debug::draw_graph(), mln::operator==(), and mln::p_vertices< G, F >::p_vertices().
bool mln::p_vertices< G, F >::has | ( | const util::vertex< G2 > & | v | ) | const [inline] |
Does this site set has v?
References mln::util::vertex< G >::graph(), mln::util::vertex< G >::is_valid(), and mln::p_vertices< G, F >::is_valid().
bool mln::p_vertices< G, F >::has | ( | const psite & | p | ) | const [inline] |
void mln::p_vertices< G, F >::invalidate | ( | ) | [inline] |
Invalidate this site set.
bool mln::p_vertices< G, F >::is_valid | ( | ) | const [inline] |
Test this site set validity.
Referenced by mln::p_vertices< G, F >::graph(), mln::p_vertices< G, F >::has(), and mln::p_vertices< G, F >::p_vertices().
std::size_t mln::p_vertices< G, F >::memory_size | ( | ) | const [inline] |
Does this site set has vertex_id? FIXME: causes ambiguities while calling has(mln::neighb_fwd_niter<>); bool has(unsigned vertex_id) const;.
unsigned mln::p_vertices< G, F >::nsites | ( | ) | const [inline] |
Return The number of points (sites) of the set, i.e., the number of vertices.
Required by the mln::Point_Set concept.
References mln::p_vertices< G, F >::nvertices().
unsigned mln::p_vertices< G, F >::nvertices | ( | ) | const [inline] |
F::result mln::p_vertices< G, F >::operator() | ( | const psite & | p | ) | const [inline] |
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.
std::ostream & operator<< | ( | std::ostream & | ostr, | |
const Site_Set< S > & | set | |||
) | [related, inherited] |
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.
p_set< typename S::site > unique | ( | const Site_Set< S > & | s | ) | [related, inherited] |
Give the unique set of s
.