std::experimental::ranges::StrictWeakOrder
来自 cppreference.com
< cpp | experimental | ranges
定义在头文件 <experimental/ranges/concepts> 中 |
||
template< class R, class T, class U > concept bool StrictWeakOrder = Relation<R, T, U>; |
(1) | (范围 TS) |
概念 StrictWeakOrder<R, T, U>
指定关系 R
对其参数施加严格弱序。如果关系 r
满足以下条件,则它是一个严格弱序:
- 它是自反的:对于所有
x
,r(x, x)
为假; - 它是传递的:对于所有
a
、b
和c
,如果r(a, b)
和r(b, c)
均为真,则r(a, c)
为真; - 令
e(a, b)
为!r(a, b) && !r(b, a)
,则e
是传递的:e(a, b) && e(b, c)
意味着e(a, c)
。
在这些条件下,可以证明 e
是一个等价关系,而 r
在由 e
确定的等价类上诱导一个严格的全序。
[编辑] 注释
Relation
和 StrictWeakOrder
之间的区别纯粹是语义上的。