C++ 参考手册

位置:首页 > > std::experimental::ranges::StrictWeakOrder

定义于头文件 <experimental/ranges/concepts>
template < class R, class T, class U >
concept bool StrictWeakOrder = ranges::Relation<R, T, U>;
(1) (范围 TS)

概念 StrictWeakOrder<R, T, U> 指定 Relation R 蕴含其参数上的严格弱序。若满足下列条件则 r 是严格弱序

  • 非自反:对于所有 xr(x, x) 为 false ;
  • 传递:对于所有 abc ,若 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 是等价关系,而 re 所确定的等价类上引入严格全序。

注意

RelationStrictWeakOrder 间的区别是纯语义的。