std::experimental::ranges::StrictWeakOrder
< cpp | experimental | ranges
template < class R, class T, class U > concept bool StrictWeakOrder = ranges::Relation<R, T, U>; |
(1) | (范围 TS) |
概念 StrictWeakOrder<R, T, U>
指定 Relation
R
蕴含其参数上的严格弱序。若满足下列条件则 r
是严格弱序
- 非自反:对于所有
x
,r(x, x)
为 false ; - 传递:对于所有
a
、b
和c
,若r(a, b)
和r(b, c)
都为 true 则r(a, c)
为 true ; - 令
e(a, b)
为!r(a, b) && !r(b, a)
,则e
是传递的:e(a, b) && e(b, c)
蕴含e(a, c)
。
在这些条件下,能证明 e
是等价关系,而 r
在 e
所确定的等价类上引入严格全序。
注意
Relation
与 StrictWeakOrder
间的区别是纯语义的。