Namespaces
Variants

std::experimental::ranges:: StrictWeakOrder

From cppreference.net
template < class R, class T, class U >
concept bool StrictWeakOrder = Relation < R, T, U > ;
(1) (ranges TS)

概念 StrictWeakOrder<R, T, U> 规定 Relation 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 之间的区别纯粹是语义层面的。