std::StrictWeakOrder

来自cppreference.com
< cpp‎ | concepts
定义于头文件 <concepts>
template < class R, class T, class U >
concept StrictWeakOrder = std::Relation<R, T, U>;
(1) (C++20 起)

概念 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 间的区别是纯语义上的。