Namespace of tools using for more complex algorithm. More...
Namespaces | |
namespace | impl |
Implementation namespace of util namespace. | |
namespace | internal |
Classes | |
class | adjacency_matrix |
A class of adjacency matrix. More... | |
class | array |
A dynamic array class. More... | |
class | array_bkd_iter |
class | array_fwd_iter |
struct | bi_elt |
class | branch |
Class of generic branch. More... | |
class | branch_iter |
Basic 2D image class. More... | |
class | branch_iter_ind |
Basic 2D image class. More... | |
class | couple |
Definition of a couple. More... | |
struct | dindex_ |
Delta-index structure. More... | |
struct | eat |
Eat structure. More... | |
class | edge |
Edge of a graph G . More... | |
class | fibonacci_heap |
Fibonacci heap. More... | |
class | graph |
Undirected graph. More... | |
class | greater_point |
A ``greater than'' functor comparing points w.r.t. More... | |
class | greater_psite |
A ``greater than'' functor comparing psites w.r.t. More... | |
class | head |
Top structure of the soft heap. More... | |
struct | hqueues |
struct | ignore |
Ignore structure. More... | |
struct | ilcell |
Element of an item list. Store the data (key) used in soft_heap. More... | |
struct | index_ |
Index structure. More... | |
class | lazy_set_ |
An "efficient" mathematical set class. More... | |
struct | lemmings_ |
Lemmings tool. More... | |
class | line_graph |
Undirected line graph of a graph of type G . More... | |
struct | multi_site |
struct | nil |
Nil structure. More... | |
class | node |
Meta-data of an element in the heap. More... | |
class | object_id |
Base class of an object id. More... | |
struct | ord |
Function-object that defines an ordering between objects with type T: lhs R rhs. More... | |
struct | ord_pair |
Ordered pair structure s.a. More... | |
struct | pix |
Structure pix. More... | |
class | set |
An "efficient" mathematical set class. More... | |
class | set_bkd_iter |
class | set_fwd_iter |
class | site_pair |
A pair of sites. More... | |
class | soft_heap |
Soft heap. More... | |
class | timer |
Timer structure. More... | |
struct | tracked_ptr |
Smart pointer for shared data with tracking. More... | |
class | tree |
Class of generic tree. More... | |
struct | tree_fast |
class | tree_node |
Class of generic tree_node for tree. More... | |
class | vertex |
Vertex of a graph G . More... | |
struct | yes |
Object that always says "yes". More... | |
Typedefs | |
typedef dindex_< void > | dindex |
typedef object_id< edge_tag, unsigned > | edge_id_t |
typedef index_< void > | index |
typedef object_id< vertex_tag, unsigned > | vertex_id_t |
Vertex id type. | |
Functions | |
template<typename I , typename J > | |
void | display_branch (const Image< J > &ima_, tree_node< I > *tree_node) |
Display an arborescence from tree_node . | |
template<typename I , typename J > | |
void | display_tree (const Image< J > &ima_, tree< I > &tree) |
Display a tree. | |
template<typename I > | |
I::psite | lemmings (const Image< I > &ima, const typename I::psite &pt, const typename I::psite::delta &dpt, const typename I::value &val) |
Launch a lemmings on an image. | |
template<typename I > | |
greater_point< I > | make_greater_point (const Image< I > &ima) |
Helper to build a mln::util::greater_point. | |
template<typename I > | |
greater_psite< I > | make_greater_psite (const Image< I > &ima) |
Helper to build a mln::util::greater_psite. | |
template<typename T > | |
bool | max (const T &lhs, const T &rhs) |
template<typename T > | |
bool | operator< (const set< T > &lhs, const set< T > &rhs) |
template<typename G > | |
bool | operator< (const edge< G > &lhs, const edge< G > &rhs) |
template<typename P > | |
bool | operator< (const site_pair< P > &lhs, const site_pair< P > &rhs) |
template<typename P > | |
bool | operator< (const multi_site< P > &lhs, const multi_site< P > &rhs) |
template<typename Tag , typename V , typename V2 > | |
bool | operator< (const object_id< Tag, V > &lhs, const object_id< Tag, V > &rhs) |
template<typename G > | |
bool | operator< (const vertex< G > &lhs, const vertex< G > &rhs) |
Less operator. Test whether lhs.id() < rhs.id(). | |
template<typename Tag , typename V > | |
bool | operator< (const object_id< Tag, V > &lhs, const object_id< Tag, V > &rhs) |
template<typename T , typename U > | |
bool | operator< (const couple< T, U > &lhs, const couple< T, U > &rhs) |
template<typename T > | |
bool | operator< (const ord_pair< T > &lhs, const ord_pair< T > &rhs) |
template<typename G > | |
std::ostream & | operator<< (std::ostream &ostr, const edge< G > &p) |
template<typename G > | |
std::ostream & | operator<< (std::ostream &ostr, const line_graph< G > &g) |
template<typename T > | |
std::ostream & | operator<< (std::ostream &ostr, const mln::util::set< T > &s) |
template<typename P > | |
std::ostream & | operator<< (std::ostream &ostr, const site_pair< P > &p) |
template<typename T > | |
std::ostream & | operator<< (std::ostream &ostr, const tracked_ptr< T > &tp) |
template<typename T , typename U > | |
std::ostream & | operator<< (std::ostream &ostr, const couple< T, U > &op) |
template<typename G > | |
std::ostream & | operator<< (std::ostream &ostr, const vertex< G > &v) |
Push the vertex v in the output stream ostr . | |
template<typename T > | |
std::ostream & | operator<< (std::ostream &ostr, const array< T > &a) |
Operator<<. | |
template<typename P , typename T > | |
std::ostream & | operator<< (std::ostream &ostr, const fibonacci_heap< P, T > &heap) |
std::ostream & | operator<< (std::ostream &ostr, const graph &g) |
template<typename V > | |
std::ostream & | operator<< (std::ostream &ostr, const adjacency_matrix< V > &adj) |
template<typename T > | |
std::ostream & | operator<< (std::ostream &ostr, const ord_pair< T > &op) |
template<typename T > | |
bool | operator<= (const set< T > &lhs, const set< T > &rhs) |
template<typename T > | |
bool | operator<= (const ord_pair< T > &lhs, const ord_pair< T > &rhs) |
template<typename P > | |
bool | operator<= (const site_pair< P > &lhs, const site_pair< P > &rhs) |
template<typename T , typename U > | |
bool | operator<= (const couple< T, U > &lhs, const couple< T, U > &rhs) |
template<typename Tag , typename V > | |
bool | operator== (const object_id< Tag, V > &lhs, const object_id< Tag, V > &rhs) |
template<typename T > | |
bool | operator== (const ord_pair< T > &lhs, const ord_pair< T > &rhs) |
template<typename P > | |
bool | operator== (const site_pair< P > &lhs, const site_pair< P > &rhs) |
template<typename Tag , typename V , typename V2 > | |
bool | operator== (const object_id< Tag, V > &lhs, const Value< V2 > &rhs) |
template<typename T > | |
bool | operator== (const set< T > &lhs, const set< T > &rhs) |
template<typename G > | |
bool | operator== (const edge< G > &lhs, const edge< G > &rhs) |
template<typename P > | |
bool | operator== (const multi_site< P > &lhs, const multi_site< P > &rhs) |
template<typename G > | |
bool | operator== (const vertex< G > &v1, const vertex< G > &v2) |
Equality operator. | |
template<typename T > | |
bool | operator== (const array< T > &lhs, const array< T > &rhs) |
Operator==. | |
template<typename T , typename U > | |
bool | operator== (const couple< T, U > &lhs, const couple< T, U > &rhs) |
template<typename T1 , typename T2 > | |
bool | ord_lexi_strict (const T1 &lhs_1, const T2 &lhs_2, const T1 &rhs_1, const T2 &rhs_2) |
template<typename T > | |
bool | ord_strict (const T &lhs, const T &rhs) |
Routine to test if lhs is strictly "less-than" rhs. | |
template<typename T > | |
bool | ord_weak (const T &lhs, const T &rhs) |
Routine to test if lhs is "less-than or equal-to" rhs. | |
template<typename T , typename I > | |
void | tree_fast_to_image (tree_fast< T > &tree, Image< I > &output_) |
template<typename T > | |
tree_fast< T > | tree_to_fast (tree< T > &input) |
Facade. | |
template<typename T , typename I > | |
void | tree_to_image (tree< T > &tree, Image< I > &output_) |
Convert a tree into an image. |
Namespace of tools using for more complex algorithm.
Forward declaration.
typedef dindex_<void> mln::util::dindex |
typedef object_id<edge_tag, unsigned> mln::util::edge_id_t |
Definition at line 49 of file graph_ids.hh.
typedef index_<void> mln::util::index |
typedef object_id<vertex_tag, unsigned> mln::util::vertex_id_t |
Vertex id type.
Definition at line 43 of file graph_ids.hh.
void mln::util::display_branch | ( | const Image< J > & | ima_, | |
tree_node< I > * | tree_node | |||
) | [inline] |
Display an arborescence from tree_node
.
Definition at line 210 of file tree_to_image.hh.
References mln::util::impl::display_branch_rec(), mln::trace::entering(), mln::exact(), mln::trace::exiting(), and mln::data::fill().
void mln::util::display_tree | ( | const Image< J > & | ima_, | |
tree< I > & | tree | |||
) | [inline] |
Display a tree.
[in] | ima_ | The domain of output image. |
[in] | tree | The tree to display. |
Definition at line 192 of file tree_to_image.hh.
References mln::util::impl::display_tree_rec(), mln::trace::entering(), mln::exact(), mln::trace::exiting(), and mln::util::tree< T >::root().
I::psite mln::util::lemmings | ( | const Image< I > & | ima, | |
const typename I::psite & | pt, | |||
const typename I::psite::delta & | dpt, | |||
const typename I::value & | val | |||
) |
Launch a lemmings on an image.
A lemmings is the point pt
that you put on an image ima
. This point will move through the image using the delta-point dpt
while consider his value on the given image.
domain
or which value on the given image is different to the value val
.domain
must be contained in the domain of ima
. Definition at line 104 of file lemmings.hh.
greater_point< I > mln::util::make_greater_point | ( | const Image< I > & | ima | ) |
Helper to build a mln::util::greater_point.
Definition at line 82 of file greater_point.hh.
greater_psite< I > mln::util::make_greater_psite | ( | const Image< I > & | ima | ) |
Helper to build a mln::util::greater_psite.
Definition at line 82 of file greater_psite.hh.
bool mln::util::max | ( | const T & | lhs, | |
const T & | rhs | |||
) | [inline] |
Definition at line 53 of file util/max.hh.
References ord_strict().
bool mln::util::operator< | ( | const set< T > & | lhs, | |
const set< T > & | rhs | |||
) |
Definition at line 752 of file util/set.hh.
References mln::rhs.
bool mln::util::operator< | ( | const edge< G > & | lhs, | |
const edge< G > & | rhs | |||
) | [inline] |
bool mln::util::operator< | ( | const site_pair< P > & | lhs, | |
const site_pair< P > & | rhs | |||
) | [inline] |
Definition at line 178 of file site_pair.hh.
References mln::rhs.
bool mln::util::operator< | ( | const multi_site< P > & | lhs, | |
const multi_site< P > & | rhs | |||
) |
Definition at line 158 of file multi_site.hh.
bool mln::util::operator< | ( | const object_id< Tag, V > & | lhs, | |
const object_id< Tag, V > & | rhs | |||
) | [inline] |
Definition at line 224 of file object_id.hh.
References mln::rhs.
bool mln::util::operator< | ( | const vertex< G > & | lhs, | |
const vertex< G > & | rhs | |||
) | [inline] |
bool mln::util::operator< | ( | const object_id< Tag, V > & | lhs, | |
const object_id< Tag, V > & | rhs | |||
) | [inline] |
Definition at line 224 of file object_id.hh.
References mln::rhs.
bool mln::util::operator< | ( | const couple< T, U > & | lhs, | |
const couple< T, U > & | rhs | |||
) | [inline] |
Definition at line 201 of file util/couple.hh.
References ord_strict(), and mln::rhs.
bool mln::util::operator< | ( | const ord_pair< T > & | lhs, | |
const ord_pair< T > & | rhs | |||
) | [inline] |
Definition at line 239 of file ord_pair.hh.
References ord_strict(), and mln::rhs.
std::ostream & mln::util::operator<< | ( | std::ostream & | ostr, | |
const edge< G > & | p | |||
) | [inline] |
std::ostream & mln::util::operator<< | ( | std::ostream & | ostr, | |
const line_graph< G > & | g | |||
) | [inline] |
Definition at line 494 of file line_graph.hh.
std::ostream& mln::util::operator<< | ( | std::ostream & | ostr, | |
const mln::util::set< T > & | s | |||
) |
Definition at line 724 of file util/set.hh.
References mln::util::set< T >::nelements().
std::ostream & mln::util::operator<< | ( | std::ostream & | ostr, | |
const site_pair< P > & | p | |||
) | [inline] |
Definition at line 194 of file site_pair.hh.
std::ostream& mln::util::operator<< | ( | std::ostream & | ostr, | |
const tracked_ptr< T > & | tp | |||
) | [inline] |
Definition at line 260 of file tracked_ptr.hh.
std::ostream & mln::util::operator<< | ( | std::ostream & | ostr, | |
const couple< T, U > & | op | |||
) | [inline] |
Definition at line 225 of file util/couple.hh.
std::ostream & mln::util::operator<< | ( | std::ostream & | ostr, | |
const vertex< G > & | v | |||
) | [inline] |
std::ostream & mln::util::operator<< | ( | std::ostream & | ostr, | |
const array< T > & | a | |||
) |
Operator<<.
Definition at line 796 of file util/array.hh.
References mln::util::array< T >::nelements().
std::ostream & mln::util::operator<< | ( | std::ostream & | ostr, | |
const fibonacci_heap< P, T > & | heap | |||
) |
Definition at line 1032 of file fibonacci_heap.hh.
References mln::util::internal::fibonacci_heap_node< P, T >::print_().
std::ostream & mln::util::operator<< | ( | std::ostream & | ostr, | |
const graph & | g | |||
) | [inline] |
Definition at line 527 of file mln/util/graph.hh.
std::ostream & mln::util::operator<< | ( | std::ostream & | ostr, | |
const adjacency_matrix< V > & | adj | |||
) |
Definition at line 323 of file adjacency_matrix.hh.
std::ostream & mln::util::operator<< | ( | std::ostream & | ostr, | |
const ord_pair< T > & | op | |||
) | [inline] |
Definition at line 263 of file ord_pair.hh.
bool mln::util::operator<= | ( | const set< T > & | lhs, | |
const set< T > & | rhs | |||
) |
Definition at line 758 of file util/set.hh.
References mln::rhs.
bool mln::util::operator<= | ( | const ord_pair< T > & | lhs, | |
const ord_pair< T > & | rhs | |||
) | [inline] |
Definition at line 249 of file ord_pair.hh.
References ord_strict(), ord_weak(), and mln::rhs.
bool mln::util::operator<= | ( | const site_pair< P > & | lhs, | |
const site_pair< P > & | rhs | |||
) | [inline] |
Definition at line 186 of file site_pair.hh.
References mln::rhs.
bool mln::util::operator<= | ( | const couple< T, U > & | lhs, | |
const couple< T, U > & | rhs | |||
) | [inline] |
Definition at line 211 of file util/couple.hh.
References ord_strict(), ord_weak(), and mln::rhs.
bool mln::util::operator== | ( | const object_id< Tag, V > & | lhs, | |
const object_id< Tag, V > & | rhs | |||
) | [inline] |
Definition at line 216 of file object_id.hh.
References mln::util::object_id< Tag, V >::value().
bool mln::util::operator== | ( | const ord_pair< T > & | lhs, | |
const ord_pair< T > & | rhs | |||
) | [inline] |
Definition at line 232 of file ord_pair.hh.
References mln::util::ord_pair< T >::first(), and mln::util::ord_pair< T >::second().
bool mln::util::operator== | ( | const site_pair< P > & | lhs, | |
const site_pair< P > & | rhs | |||
) | [inline] |
Definition at line 170 of file site_pair.hh.
References mln::util::site_pair< P >::pair().
bool mln::util::operator== | ( | const object_id< Tag, V > & | lhs, | |
const Value< V2 > & | rhs | |||
) | [inline] |
Definition at line 208 of file object_id.hh.
References mln::exact(), and mln::util::object_id< Tag, V >::value().
bool mln::util::operator== | ( | const set< T > & | lhs, | |
const set< T > & | rhs | |||
) |
Definition at line 740 of file util/set.hh.
References mln::util::set< T >::nelements().
bool mln::util::operator== | ( | const edge< G > & | lhs, | |
const edge< G > & | rhs | |||
) | [inline] |
Definition at line 368 of file edge.hh.
References mln::util::edge< G >::graph(), and mln::util::edge< G >::id().
bool mln::util::operator== | ( | const multi_site< P > & | lhs, | |
const multi_site< P > & | rhs | |||
) |
Definition at line 151 of file multi_site.hh.
References mln::util::multi_site< P >::sites.
bool mln::util::operator== | ( | const vertex< G > & | v1, | |
const vertex< G > & | v2 | |||
) | [inline] |
Equality operator.
Test whether two vertices have the same id.
Definition at line 380 of file vertex.hh.
References mln::util::vertex< G >::graph(), and mln::util::vertex< G >::id().
bool mln::util::operator== | ( | const array< T > & | lhs, | |
const array< T > & | rhs | |||
) |
Operator==.
Definition at line 815 of file util/array.hh.
References mln::util::array< T >::std_vector().
bool mln::util::operator== | ( | const couple< T, U > & | lhs, | |
const couple< T, U > & | rhs | |||
) | [inline] |
Definition at line 194 of file util/couple.hh.
References mln::util::couple< T, U >::first(), and mln::util::couple< T, U >::second().
bool mln::util::ord_lexi_strict | ( | const T1 & | lhs_1, | |
const T2 & | lhs_2, | |||
const T1 & | rhs_1, | |||
const T2 & | rhs_2 | |||
) | [inline] |
Definition at line 113 of file util/ord.hh.
References ord_strict().
Referenced by mln::trait::set_precise_unary_< op::ord, p_line2d >::strict(), and mln::trait::set_precise_unary_< op::ord, box< P > >::strict().
bool mln::util::ord_strict | ( | const T & | lhs, | |
const T & | rhs | |||
) | [inline] |
Routine to test if lhs is strictly "less-than" rhs.
Definition at line 90 of file util/ord.hh.
Referenced by mln::util::ord_pair< T >::change_both(), mln::util::ord_pair< T >::change_first(), mln::util::ord_pair< T >::change_second(), mln::util::set< T >::dicho_(), mln::util::soft_heap< T, R >::fix_minlist(), mln::morpho::tree::impl::flood(), mln::morpho::impl::Rd< I, N >::is_proc__(), max(), mln::util::soft_heap< T, R >::meld(), mln::data::impl::value_psite_greater_< I >::operator()(), mln::data::impl::value_psite_less_< I >::operator()(), mln::data::impl::generic::value_offset_greater_< I >::operator()(), mln::data::impl::generic::value_offset_less_< I >::operator()(), mln::util::internal::fibonacci_heap_node< P, T >::operator<(), operator<(), operator<=(), ord_lexi_strict(), mln::util::soft_heap< T, R >::sift(), mln::trait::set_precise_unary_< op::ord, p_run< P > >::strict(), mln::internal::ord_vec< T >::strict(), mln::util::set< T >::v_has_(), and mln::internal::ord_vec< T >::weak().
bool mln::util::ord_weak | ( | const T & | lhs, | |
const T & | rhs | |||
) | [inline] |
Routine to test if lhs is "less-than or equal-to" rhs.
Definition at line 101 of file util/ord.hh.
Referenced by mln::util::ord_pair< T >::change_both(), mln::util::ord_pair< T >::change_first(), mln::util::ord_pair< T >::change_second(), mln::box< P >::is_valid(), and operator<=().
void mln::util::tree_fast_to_image | ( | tree_fast< T > & | tree, | |
Image< I > & | output_ | |||
) | [inline] |
Convert a tree_fast into an image.
[in] | tree | The tree to convert. |
[out] | output_ | The image containing tree informations. |
Definition at line 99 of file tree_fast_to_image.hh.
References mln::trace::entering(), mln::trace::exiting(), and mln::util::impl::tree_fast_to_image().
tree_fast< T > mln::util::tree_to_fast | ( | tree< T > & | input | ) | [inline] |
Facade.
Convert a tree into an tree_fast.
[in] | input | The tree to convert. |
Definition at line 90 of file tree_to_fast.hh.
References mln::trace::entering(), mln::trace::exiting(), mln::util::tree< T >::root(), and mln::util::impl::tree_to_fast_().
void mln::util::tree_to_image | ( | tree< T > & | tree, | |
Image< I > & | output_ | |||
) | [inline] |
Convert a tree into an image.
[in] | tree | The tree to convert. |
[out] | output_ | The image containing tree information. |
Definition at line 178 of file tree_to_image.hh.
References mln::trace::entering(), mln::exact(), mln::trace::exiting(), mln::util::tree< T >::root(), and mln::util::impl::tree_to_image_rec().