std::weak_order

来自cppreference.com
< cpp‎ | utility
定义于头文件 <compare>
template< class T >
constexpr std::weak_ordering weak_order(const T& a, const T& b);
(C++20 起)

用三路比较比较二个值,并产生 std::weak_ordering 类型结果。

具体而言,

  • 若表达式 a <=> b 为良式且其结果可转换为 std::weak_ordering ,则返回该结果。
  • 否则,若表达式 a <=> b 为良式,但其结果不可转换为 std::weak_ordering ,则定义函数为被删除。
  • 否则,若表达式 a <=> b 为病式,但表达式 a == ba < b 均为良式,且可转换为 bool ,则
  • a == btrue ,则返回 std::weak_ordering::equivalent
  • 否则若 a < btrue ,则返回 std::weak_ordering::less
  • 否则返回 std::weak_ordering::greater
  • 否则,定义函数为被删除。

目录

[编辑] 参数

a, b - 要比较的值

[编辑] 返回值

上述的 std::weak_ordering 类型值。

[编辑] 注意

[编辑] 示例

[编辑] 参阅

三路比较的结果类型,支持所有 6 种运算符且不可替换
(类) [编辑]
进行三路比较并产生 std::strong_ordering 类型结果
(函数模板) [编辑]
进行三路比较并产生 std::partial_ordering 类型结果
(函数模板) [编辑]
进行三路比较并产生 std::weak_equality 类型结果
(函数模板) [编辑]