partial_ordering 类

Qt::partial_ordering

Qt::partial_ordering 代表允许无序结果的比较结果。 更多...

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

公共函数

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

静态公共成员

const Qt::partial_orderingequivalent
const Qt::partial_orderinggreater
const Qt::partial_orderingless
const Qt::partial_orderingunordered
boolis_eq(Qt::partial_ordering o)
boolis_gt(Qt::partial_ordering o)
boolis_gteq(Qt::partial_ordering o)
boolis_lt(Qt::partial_ordering o)
boolis_lteq(Qt::partial_ordering o)
boolis_neq(Qt::partial_ordering o)
booloperator!=(Qt::partial_ordering lhs, Qt::partial_ordering rhs)
booloperator==(Qt::partial_ordering lhs, Qt::partial_ordering rhs)

详细描述

Qt::partial_ordering 类型的值通常由一个三向比较函数返回。此类函数比较两个对象,建立它们是否有序及其排序关系。它使用此返回类型以指示排序是部分排序的;也就是说,并非所有值对都有序。

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

  • less 代表左操作数小于右操作数;
  • equivalent 代表两个操作数等效;
  • greater 代表左操作数大于右操作数;
  • unordered 代表两个操作数无序。

Qt::partial_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::partial_ordering compare(T lhs, T rhs); // defined out-of-line
~~~

Qt::partial_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::partial_ordering::unordered与文字0进行比较始终返回一个false结果。

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

成员函数文档

[ constexpr noexcept ]partial_ordering::partial_orderingstd::partial_ordering stdorder

使用以下规则从 stdorder 构造一个 Qt::partial_ordering 对象

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

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

使用以下规则将此 Qt::partial_ordering 值转换为 std::partial_ordering 对象

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

成员变量文档

const Qt::partial_ordering partial_ordering::equivalent

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

const Qt::partial_ordering partial_ordering::greater

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

const Qt::partial_ordering partial_ordering::less

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

const Qt::partial_ordering partial_ordering::unordered

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

相关非成员函数

[ constexpr noexcept ] bool is_eqQt::partial_ordering o

[ constexpr noexcept ] bool is_gtQt::partial_ordering o

[ constexpr noexcept ] bool is_gteqQt::partial_ordering o

[ constexpr noexcept ] bool is_ltQt::partial_ordering o

[ constexpr noexcept ] bool is_lteqQt::partial_ordering o

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

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

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

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

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

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

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

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

© 2024 The Qt Company Ltd. 本文档贡献的版权归各自的所有者所有。本提供的文档是根据由自由软件基金会发布的GNU自由文档许可证版本1.3的条款许可的。Qt和相应的标志是The Qt Company Ltd.在芬兰以及全球其他国家的商标。所有其他商标归各自所有者所有。