acts_on
コンセプト · モノイドの要件
template <class M, class U>
concept acts_on = monoid<M> && requires(const typename M::value_type &m, const U &x) {
{ M::f(m, x) } -> std::convertible_to<U>;
};
概要
作用素モノイド M を値型 U に作用させられるか
モノイドに加えて作用 f(作用素, 値) を持つこと。遅延セグ木では op が作用素の合成、 f が値への作用を表す。f は関数テンプレートでも非テンプレートでもよい。
テンプレートパラメータ
| 名前 | 説明 |
|---|---|
M |
作用素モノイド |
U |
作用させる値の型 |
計算量
- コンパイル時制約で実行時計算量はない