Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
Aleph::LCTMonoid Concept Reference

Concept for a monoidal combiner over path values. More...

#include <tpl_link_cut_tree.H>

Concept definition

template<typename M, typename T>
concept Aleph::LCTMonoid =
requires(const M & m, const T & a, const T & b)
{
{ M::identity() } -> std::convertible_to<T>;
{ M::combine(a, b) } -> std::convertible_to<T>;
}
Concept for a monoidal combiner over path values.
std::decay_t< typename HeadC::Item_Type > T
Definition ah-zip.H:105
FooMap m(5, fst_unit_pair_hash, snd_unit_pair_hash)

Detailed Description

Concept for a monoidal combiner over path values.

A Monoid requires an identity element and an associative binary operation combine(a, b). It dictates how values on a path are aggregated together (e.g., finding the sum or minimum).

Definition at line 96 of file tpl_link_cut_tree.H.