std::experimental::ranges::Relation
来自 cppreference.com
< cpp | experimental | ranges
定义在头文件 <experimental/ranges/concepts> 中 |
||
template< class R, class T, class U > concept bool Relation = |
(1) | (范围 TS) |
概念 Relation<R, T, U>
指定 R
在类型和值类别都由 T
或 U
编码的表达式集合上定义二元关系。
假设
-
r
,一个表达式,其类型为R
,即 decltype((r)) 等于R
-
t
,一个表达式,其类型为T
,即 decltype((t)) 等于T
-
u
,一个表达式,其类型为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))).