algo — C++23 日本語リファレンス GitHub

monoid

コンセプト · モノイドの要件

template <class M>
concept monoid = requires {
    typename M::value_type;
    { M::id() } -> std::same_as<typename M::value_type>;
    {
        M::op(std::declval<const typename M::value_type &>(), std::declval<const typename M::value_type &>())
    } -> std::same_as<typename M::value_type>;
};

概要

モノイドの要件

値型 value_type、単位元 id()、二項演算 op() を持つこと。

テンプレートパラメータ

名前 説明
M 判定対象の型

計算量

関連項目