强排序类

Qt::strong_ordering

Qt::strong_ordering 表示一个比较,其中等效值是不可区分的。 更多...

头文件 #include <QtCompare>
CMakefind_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmakeQT += core
Qt 6.7

公共函数

strong_ordering(std::strong_ordering stdorder)
Qt::partial_orderingoperator Qt::partial_ordering() const
Qt::weak_orderingoperator Qt::weak_ordering() const
std::strong_orderingoperator std::strong_ordering() const

静态公共成员

const Qt::strong_orderingequal
const Qt::strong_orderingequivalent
const Qt::strong_orderinggreater
const Qt::strong_orderingless
boolis_eq(Qt::strong_ordering o)
boolis_gt(Qt::strong_ordering o)
boolis_gteq(Qt::strong_ordering o)
boolis_lt(Qt::strong_ordering o)
boolis_lteq(Qt::strong_ordering o)
boolis_neq(Qt::strong_ordering o)
booloperator!=(Qt::strong_ordering lhs, Qt::strong_ordering rhs)
booloperator==(Qt::strong_ordering lhs, Qt::strong_ordering rhs)

详细描述

类型为 Qt::strong_ordering 的值通常从三向比较函数返回。此类函数比较两个对象并确定它们的顺序。它使用此返回类型来表示排序是严格的;即函数建立了一个良好定义的全序。

Qt::strong_ordering 有四个值,由以下符号常量表示

  • less 表示左操作数小于右操作数;
  • equal 表示左操作数与右操作数等效;
  • equivalentequal 的别称;
  • greater 表示左操作数大于右操作数。

Qt::strong_ordering 通常通过将实例与文字零进行比较来惯用,例如像这样

// given a, b, c, d as objects of some type that allows for a 3-way compare,
// and a compare function declared as follows:

Qt::strong_ordering compare(T lhs, T rhs); // defined out-of-line
~~~

Qt::strong_ordering result = compare(a, b);
if (result < 0) {
    // a is less than b
}

if (compare(c, d) >= 0) {
    // c is greater than or equal to d
}

另请参阅 Qt::weak_orderingQt::partial_ordering比较类型概述

成员函数文档

[constexpr noexcept] strong_ordering::strong_ordering(std::strong_ordering stdorder)

根据以下规则从 stdorder 构造 Qt::strong_ordering 对象

  • std::strong_ordering::less 转换为 less
  • std::strong_ordering::equivalent 转换为 equivalent
  • std::strong_ordering::equal 转换为 equal
  • std::strong_ordering::greater 转换为 greater

[constexpr noexcept] Qt::partial_ordering strong_ordering::operator Qt::partial_ordering() const

根据以下规则将此 Qt::strong_ordering 值转换为 Qt::partial_ordering 对象

[constexpr noexcept] Qt::weak_ordering strong_ordering::operator Qt::weak_ordering() const

根据以下规则将此 Qt::strong_ordering 值转换为 Qt::weak_ordering 对象

[constexpr noexcept] std::strong_ordering strong_ordering::operator std::strong_ordering() const

根据以下规则将此 Qt::strong_ordering 值转换为 std::strong_ordering 对象

  • less 转换为 std::strong_ordering::less。
  • equivalent 转换为 std::strong_ordering::equivalent。
  • equal 转换为 std::strong_ordering::equal。
  • greater 转换为 std::strong_ordering::greater。

成员变量文档

const Qt::strong_ordering strong_ordering::equal

表示比较结果,其中左操作数等于右操作数。等同于 Qt::strong_ordering::equivalent

const Qt::strong_ordering strong_ordering::equivalent

表示比较结果,其中左操作数等于右操作数。等同于 Qt::strong_ordering::equal

const Qt::strong_ordering strong_ordering::greater

表示比较结果,其中左操作数大于右操作数。

const Qt::strong_ordering strong_ordering::less

表示比较结果,其中左操作数小于右操作数。

相关非成员

[constexpr noexcept] bool is_eq(Qt::strong_ordering o)

[constexpr noexcept] bool is_gt(Qt::strong_ordering o)

[constexpr noexcept] bool is_gteq(Qt::strong_ordering o)

[constexpr noexcept] bool is_lt(Qt::strong_ordering o)

[constexpr noexcept] bool is_lteq(Qt::strong_ordering o)

[constexpr noexcept] bool is_neq(Qt::strong_ordering o)

o转换为六个关系运算符之一的结果

函数操作
is_eqo == 0
is_neqo != 0
is_lto < 0
is_lteqo <= 0
is_gto > 0
is_gteqo >= 0

这些函数提供与 std::strong_ordering 的兼容性。

[constexpr noexcept] bool operator!=(Qt::strong_ordering lhs, Qt::strong_ordering rhs)

如果 lhs 和 rhs 表示不同的结果,则返回 true;否则返回 false。

[constexpr noexcept] bool operator==(Qt::strong_ordering lhs, Qt::strong_ordering rhs)

如果 lhs 和 rhs 表示相同的结果,则返回 true;否则返回 false。

© 2024 Qt公司有限公司。此处包含的文档贡献属于各自所有者的版权。此处提供的文档是在免费软件基金会发布的GNU自由文档许可协议版本1.3下许可使用的。GNU自由文档许可协议版本1.3。Qt及其相关标志是芬兰及/或其他国家和地区的Qt公司有限公司的商标。所有其他商标均为其各自所有者的财产。