QPartialOrdering represents the result of a comparison that allows for unordered results. More...
| Header: | #include <QPartialOrdering> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core)target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
| Since: | Qt 6.0 |
| QPartialOrdering(std::partial_ordering stdorder) | |
| std::partial_ordering | operator std::partial_ordering() const |
| const QPartialOrdering | Equivalent |
| const QPartialOrdering | Greater |
| const QPartialOrdering | Less |
| const QPartialOrdering | Unordered |
| const QPartialOrdering | equivalent |
| const QPartialOrdering | greater |
| const QPartialOrdering | less |
| const QPartialOrdering | unordered |
(since 6.7) bool |
is_eq(QPartialOrdering o) |
(since 6.7) bool |
is_gt(QPartialOrdering o) |
(since 6.7) bool |
is_gteq(QPartialOrdering o) |
(since 6.7) bool |
is_lt(QPartialOrdering o) |
(since 6.7) bool |
is_lteq(QPartialOrdering o) |
(since 6.7) bool |
is_neq(QPartialOrdering o) |
| bool | operator!=(QPartialOrdering lhs, QPartialOrdering rhs) |
| bool | operator==(QPartialOrdering lhs, QPartialOrdering rhs) |
A value of type QPartialOrdering is typically returned from a three-way comparison function. Such a function compares two objects, establishing whether they are ordered and, if so, their ordering. It uses this return type to indicate that the ordering is partial; that is, not all pairs of values are ordered.
QPartialOrdering has four values, represented by the following symbolic constants:
QPartialOrdering is idiomatically used by comparing an instance against a literal zero, for instance like this:
// 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 }
Comparing QPartialOrdering::unordered against literal 0 always returns a false result.
See also Qt::strong_ordering, Qt::weak_ordering, and Comparison types overview.
[constexpr noexcept] QPartialOrdering::QPartialOrdering(std::partial_ordering stdorder)Constructs a QPartialOrdering object from stdorder using the following rules:
[constexpr noexcept] std::partial_ordering QPartialOrdering::operator std::partial_ordering() constConverts this QPartialOrdering value to a std::partial_ordering object using the following rules:
Represents the result of a comparison where the two operands are equivalent.
Represents the result of a comparison where the left operand is greater than the right operand.
Represents the result of a comparison where the left operand is less than the right operand.
Represents the result of a comparison where there is no ordering relationship between the two operands.
Represents the result of a comparison where the two operands are equivalent.
Represents the result of a comparison where the left operand is greater than the right operand.
Represents the result of a comparison where the left operand is less than the right operand.
Represents the result of a comparison where there is no ordering relationship between the two operands.
[constexpr noexcept, since 6.7] bool is_eq(QPartialOrdering o)[constexpr noexcept, since 6.7] bool is_gt(QPartialOrdering o)[constexpr noexcept, since 6.7] bool is_gteq(QPartialOrdering o)[constexpr noexcept, since 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)Converts o into the result of one of the six relational operators:
| Function | Operation |
|---|---|
is_eq |
o == 0 |
is_neq |
o != 0 |
is_lt |
o < 0 |
is_lteq |
o <= 0 |
is_gt |
o > 0 |
is_gteq |
o >= 0 |
These functions are provided for compatibility with std::partial_ordering.
This function was introduced in Qt 6.7.
[constexpr noexcept] bool operator!=(QPartialOrdering lhs, QPartialOrdering rhs)Return true if lhs and rhs represent different results; otherwise, returns true.
[constexpr noexcept] bool operator==(QPartialOrdering lhs, QPartialOrdering rhs)Return true if lhs and rhs represent the same result; otherwise, returns false.