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

A static monoid: M::identity() and M::combine(a, b). More...

#include <ah-concepts.H>

Concept definition

template<typename M, typename T>
requires(const T & a, const T & b)
{
{ M::identity() } -> std::convertible_to<T>;
{ M::combine(a, b) } -> std::convertible_to<T>;
}
A static monoid: M::identity() and M::combine(a, b).
std::decay_t< typename HeadC::Item_Type > T
Definition ah-zip.H:105

Detailed Description

A static monoid: M::identity() and M::combine(a, b).

Unlike ClosedBinaryOp, the combining operation lives on the type M itself (static members), not on an instance passed by the caller. This is the shape LCTMonoid (kept as an alias) requires from a link-cut tree's path-aggregation policy.

Template Parameters
Mmonoid policy type, exposing identity() and combine.
Tvalue type.

Definition at line 441 of file ah-concepts.H.