强排序类
类 Qt::strong_orderingQt::strong_ordering 表示一个比较,其中等效值是不可区分的。 更多...
头文件 | #include <QtCompare> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake | QT += core |
自 | Qt 6.7 |
公共函数
strong_ordering(std::strong_ordering stdorder) | |
Qt::partial_ordering | operator Qt::partial_ordering() const |
Qt::weak_ordering | operator Qt::weak_ordering() const |
std::strong_ordering | operator std::strong_ordering() const |
静态公共成员
const Qt::strong_ordering | equal |
const Qt::strong_ordering | equivalent |
const Qt::strong_ordering | greater |
const Qt::strong_ordering | less |
相关非成员
bool | is_eq(Qt::strong_ordering o) |
bool | is_gt(Qt::strong_ordering o) |
bool | is_gteq(Qt::strong_ordering o) |
bool | is_lt(Qt::strong_ordering o) |
bool | is_lteq(Qt::strong_ordering o) |
bool | is_neq(Qt::strong_ordering o) |
bool | operator!=(Qt::strong_ordering lhs, Qt::strong_ordering rhs) |
bool | operator==(Qt::strong_ordering lhs, Qt::strong_ordering rhs) |
详细描述
类型为 Qt::strong_ordering 的值通常从三向比较函数返回。此类函数比较两个对象并确定它们的顺序。它使用此返回类型来表示排序是严格的;即函数建立了一个良好定义的全序。
Qt::strong_ordering 有四个值,由以下符号常量表示
- less 表示左操作数小于右操作数;
- equal 表示左操作数与右操作数等效;
- equivalent 是
equal
的别称; - 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_ordering、Qt::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 对象
- less 转换为 Qt::partial_ordering::less。
- equivalent 转换为 Qt::partial_ordering::equivalent。
- equal 转换为 Qt::partial_ordering::equivalent。
- greater 转换为 Qt::partial_ordering::greater。
[constexpr noexcept]
Qt::weak_ordering strong_ordering::operator Qt::weak_ordering() const
根据以下规则将此 Qt::strong_ordering 值转换为 Qt::weak_ordering 对象
- less 转换为 Qt::weak_ordering::less。
- equivalent 转换为 Qt::weak_ordering::equivalent。
- equal 转换为 Qt::weak_ordering::equivalent。
- greater 转换为 Qt::weak_ordering::greater。
[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_eq | o == 0 |
is_neq | o != 0 |
is_lt | o < 0 |
is_lteq | o <= 0 |
is_gt | o > 0 |
is_gteq | o >= 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公司有限公司的商标。所有其他商标均为其各自所有者的财产。