A class of adjacency matrix. More...
#include <adjacency_matrix.hh>
Public Member Functions | |
void | add (const V &e1, const V &e2) |
Make e1 and e2 adjacent. | |
adjacency_matrix () | |
Constructors. | |
adjacency_matrix (const V &nelements) | |
Construct an adjacency matrix with nelements elements maximum. | |
bool | are_adjacent (const V &e1, const V &e2) const |
Check whether e1 and e2 are adjacent. | |
void | clear () |
Clear all adjacencies. | |
const adj_t & | hook_data_ () const |
@} | |
std::ostream & | print_data_ (std::ostream &ostr) const |
Print data to std::out. | |
void | remove (const V &e1, const V &e2) |
Remove adjacency between e1 and e2 . | |
Protected Attributes | |
adj_t | adj_ |
Private Types | |
typedef impl_t::adj_t | adj_t |
Data structure used to store adjacency information. | |
typedef internal::adjacency_matrix_impl_selector < V, typename mln::metal::equal< typename mln::trait::value_< V >::quant, trait::value::quant::low > ::eval > | impl_t |
A class of adjacency matrix.
Support low and high quantification value types. In case of low quantification value type, it uses an image2d to store adjacency information. In case of high quantification value type, it uses a util::set to store the adjacency information.
typedef impl_t::adj_t mln::util::adjacency_matrix< V >::adj_t [private] |
Data structure used to store adjacency information.
Reimplemented from mln::util::internal::adjacency_matrix_impl_selector< V, mln::metal::equal< mln::trait::value_< V >::quant, trait::value::quant::low >::eval >.
typedef internal::adjacency_matrix_impl_selector<V, typename mln::metal::equal< typename mln::trait::value_< V >::quant , trait::value::quant::low >::eval> mln::util::adjacency_matrix< V >::impl_t [private] |
mln::util::adjacency_matrix< V >::adjacency_matrix | ( | ) |
Constructors.
@{
Default
mln::util::adjacency_matrix< V >::adjacency_matrix | ( | const V & | nelements | ) |
Construct an adjacency matrix with nelements
elements maximum.
void mln::util::internal::adjacency_matrix_impl_selector< V, mln::metal::equal< mln::trait::value_< V >::quant, trait::value::quant::low >::eval >::add | ( | const V & | e1, | |
const V & | e2 | |||
) | [inherited] |
Make e1
and e2
adjacent.
bool mln::util::internal::adjacency_matrix_impl_selector< V, mln::metal::equal< mln::trait::value_< V >::quant, trait::value::quant::low >::eval >::are_adjacent | ( | const V & | e1, | |
const V & | e2 | |||
) | const [inherited] |
Check whether e1
and e2
are adjacent.
void mln::util::internal::adjacency_matrix_impl_selector< V, mln::metal::equal< mln::trait::value_< V >::quant, trait::value::quant::low >::eval >::clear | ( | ) | [inherited] |
Clear all adjacencies.
const adj_t& mln::util::adjacency_matrix< V >::hook_data_ | ( | ) | const |
@}
Hook member used to retrieve the underlying data structure.
std::ostream& mln::util::internal::adjacency_matrix_impl_selector< V, mln::metal::equal< mln::trait::value_< V >::quant, trait::value::quant::low >::eval >::print_data_ | ( | std::ostream & | ostr | ) | const [inherited] |
Print data to std::out.
void mln::util::internal::adjacency_matrix_impl_selector< V, mln::metal::equal< mln::trait::value_< V >::quant, trait::value::quant::low >::eval >::remove | ( | const V & | e1, | |
const V & | e2 | |||
) | [inherited] |
Remove adjacency between e1
and e2
.
adj_t mln::util::internal::adjacency_matrix_impl_selector< V, mln::metal::equal< mln::trait::value_< V >::quant, trait::value::quant::low >::eval >::adj_ [protected, inherited] |