std::experimental::ranges::Relation
From cppreference.com
< cpp | experimental | ranges
| Defined in header <experimental/ranges/concepts> |
||
| template< class R, class T, class U > concept bool Relation = |
(1) | (ranges TS) |
コンセンプトRelation<R, T, U>は、RがTまたはUによってエンコードされた型と値カテゴリを持つ式の集合に対する二項関係を定義することを示します。
以下を考えます。
-
rは、decltype((r))がRであるような式、 -
tは、decltype((t))がTであるような式、 -
uは、decltype((u))がUであるような式、
そして、Cをranges::common_reference_t<const std::remove_reference_t<T>&, const std::remove_reference_t<U>&>とすると、
Relation<R, T, U>が満たされるのは、以下の条件のみです。
- bool(r(t, u)) == bool(r(C(t), C(u))) かつ
- bool(r(u, t)) == bool(r(C(u), C(t))).