QPartialOrdering 类

QPartialOrdering 表示可能有序结果的比较结果。 更多...

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

公共函数

QPartialOrdering(std::partial_ordering stdorder)
std::partial_orderingoperator std::partial_ordering() const

静态公共成员

const QPartialOrderingEquivalent
const QPartialOrderingGreater
const QPartialOrderingLess
const QPartialOrderingUnordered
const QPartialOrderingequivalent
const QPartialOrderinggreater
const QPartialOrderingless
const QPartialOrderingunordered
(since 6.7) boolis_eq(QPartialOrdering o)
(since 6.7) boolis_gt(QPartialOrdering o)
(since 6.7) boolis_gteq(QPartialOrdering o)
(since 6.7) boolis_lt(QPartialOrdering o)
(since 6.7) boolis_lteq(QPartialOrdering o)
(since 6.7) boolis_neq(QPartialOrdering o)
booloperator!=(QPartialOrdering lhs, QPartialOrdering rhs)
booloperator==(QPartialOrdering lhs, QPartialOrdering rhs)

详细描述

类型为 QPartialOrdering 的值通常由三路比较函数返回。此类函数比较两个对象,确定它们是否已排序,如果是,则确定它们的排序。它使用此返回类型表示排序是部分的;即,并非所有值对都已排序。

QPartialOrdering 有四个值,由以下符号常量表示

  • less 表示左操作数小于右操作数;
  • equivalent 表示两个操作数是等价的;
  • greater 表示左操作数大于右操作数;
  • unordered 表示两个操作数没有排序。

QPartialOrdering 通常通过与文字零进行比较来使用,例如如下

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

QPartialOrdering compare(T lhs, T rhs); // defined out-of-line
~~~

QPartialOrdering 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
}

QPartialOrdering::unordered 与文字 0 进行比较始终返回一个 false 结果。

另请参阅 Qt::strong_orderingQt::weak_ordering 以及 比较类型概述

成员函数文档

[计时例外 noexcept] QPartialOrdering::QPartialOrdering(std::partial_ordering stdorder)

根据以下规则从stdorder构建一个QPartialOrdering对象

  • std::partial_ordering::less 转换为 less
  • std::partial_ordering::equivalent 转换为 equivalent
  • std::partial_ordering::greater 转换为 greater
  • std::partial_ordering::unordered 转换为 unordered

[计时例外 noexcept] std::partial_ordering QPartialOrdering::operator std::partial_ordering() const

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

  • less 转换为 std::partial_ordering::less。
  • equivalent 转换为 std::partial_ordering::equivalent。
  • greater 转换为 std::partial_ordering::greater。
  • unordered 转换为 std::partial_ordering::unordered。

成员变量文档

const QPartialOrdering QPartialOrdering::Equivalent

表示两个操作数等价比较的结果。

const QPartialOrdering QPartialOrdering::Greater

表示左操作数大于右操作数比较的结果。

const QPartialOrdering QPartialOrdering::Less

表示左操作数小于右操作数比较的结果。

const QPartialOrdering QPartialOrdering::Unordered

表示两个操作数之间没有排序关系的结果。

const QPartialOrdering QPartialOrdering::equivalent

表示两个操作数等价比较的结果。

const QPartialOrdering QPartialOrdering::greater

表示左操作数大于右操作数比较的结果。

const QPartialOrdering QPartialOrdering::less

表示左操作数小于右操作数比较的结果。

const QPartialOrdering QPartialOrdering::unordered

表示两个操作数之间没有排序关系的结果。

相关非成员

[计时例外 noexcept, 自6.7以来] bool is_eq(QPartialOrdering o)

[计时例外 noexcept, 自6.7以来] bool is_gt(QPartialOrdering o)

[计时例外 noexcept, 自6.7以来] bool is_gteq(QPartialOrdering o)

[计时例外 noexcept, 自6.7以来] bool is_lt(QPartialOrdering o)

[constexpr noexcept, since 6.7] bool is_lteq(QPartialOrdering o)

[constexpr noexcept, since 6.7] bool is_neq(QPartialOrdering o)

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

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

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

此函数自 Qt 6.7 中引入。

[constexpr noexcept] bool operator!=(QPartialOrdering lhs, QPartialOrdering rhs)

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

[constexpr noexcept] bool operator==(QPartialOrdering lhs, QPartialOrdering rhs)

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

© 2024 Qt 公司有限公司。本文件中包含的文档贡献的版权属于各自的所有者。在此提供的内容根据自由软件基金会的GNU自由文档许可证1.3版提供的条款许可。Qt及其相关标志是芬兰Qt公司及其在全球的子公司和关联公司的商标。所有其他商标均为各自所有者的财产。