QPartialOrdering Class
QPartialOrdering stellt das Ergebnis eines Vergleichs dar, der auch ungeordnete Ergebnisse zulässt. Mehr...
Kopfzeile: | #include <QPartialOrdering> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
Seit: | Qt 6.0 |
Öffentliche Funktionen
QPartialOrdering(std::partial_ordering stdorder) | |
std::partial_ordering | operator std::partial_ordering() const |
Statische öffentliche Mitglieder
const QPartialOrdering | Equivalent |
const QPartialOrdering | Greater |
const QPartialOrdering | Less |
const QPartialOrdering | Unordered |
const QPartialOrdering | equivalent |
const QPartialOrdering | greater |
const QPartialOrdering | less |
const QPartialOrdering | unordered |
Verwandte Nicht-Mitglieder
(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) |
Detaillierte Beschreibung
Ein Wert vom Typ QPartialOrdering wird typischerweise von einer Drei-Wege-Vergleichsfunktion zurückgegeben. Eine solche Funktion vergleicht zwei Objekte und stellt fest, ob sie geordnet sind und wenn ja, in welcher Reihenfolge. Sie verwendet diesen Rückgabetyp, um anzuzeigen, dass die Ordnung partiell ist, d. h. nicht alle Wertepaare sind geordnet.
QPartialOrdering hat vier Werte, die durch die folgenden symbolischen Konstanten dargestellt werden:
- less bedeutet, dass der linke Operand kleiner ist als der rechte;
- equivalent steht dafür, dass die beiden Operanden gleichwertig sind;
- greater steht dafür, dass der linke Operand größer ist als der rechte;
- unordered steht dafür, dass die beiden Operanden nicht geordnet sind.
QPartialOrdering wird idiomatisch verwendet, indem man eine Instanz gegen ein Null-Literal vergleicht, z.B. wie folgt:
// 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 }
Der Vergleich von QPartialOrdering::unordered mit dem Literal 0 liefert immer ein false
Ergebnis.
Siehe auch Qt::strong_ordering, Qt::weak_ordering, und Vergleichstypen Übersicht.
Dokumentation der Mitgliedsfunktionen
[constexpr noexcept]
QPartialOrdering::QPartialOrdering(std::partial_ordering stdorder)
Konstruiert ein QPartialOrdering-Objekt aus stdorder unter Anwendung der folgenden Regeln:
- std::partial_ordering::less wandelt in less um.
- std::partial_ordering::equivalent wandelt in equivalent um.
- std::partial_ordering::greater konvertiert nach greater.
- std::partial_ordering::unordered konvertiert zu unordered
[constexpr noexcept]
std::partial_ordering QPartialOrdering::operator std::partial_ordering() const
Konvertiert diesen QPartialOrdering Wert in ein std::partial_ordering Objekt unter Anwendung der folgenden Regeln:
- less konvertiert in std::partial_ordering::less.
- equivalent konvertiert nach std::partial_ordering::equivalent.
- greater konvertiert nach std::partial_ordering::greater.
- unordered konvertiert nach std::partial_ordering::unordered.
Dokumentation der Mitgliedsvariablen
const QPartialOrdering QPartialOrdering::Equivalent
Stellt das Ergebnis eines Vergleichs dar, bei dem die beiden Operanden gleichwertig sind.
const QPartialOrdering QPartialOrdering::Greater
Stellt das Ergebnis eines Vergleichs dar, bei dem der linke Operand größer als der rechte Operand ist.
const QPartialOrdering QPartialOrdering::Less
Stellt das Ergebnis eines Vergleichs dar, bei dem der linke Operand kleiner als der rechte Operand ist.
const QPartialOrdering QPartialOrdering::Unordered
Stellt das Ergebnis eines Vergleichs dar, bei dem es keine Ordnungsbeziehung zwischen den beiden Operanden gibt.
const QPartialOrdering QPartialOrdering::equivalent
Stellt das Ergebnis eines Vergleichs dar, bei dem die beiden Operanden gleichwertig sind.
const QPartialOrdering QPartialOrdering::greater
Stellt das Ergebnis eines Vergleichs dar, bei dem der linke Operand größer als der rechte Operand ist.
const QPartialOrdering QPartialOrdering::less
Stellt das Ergebnis eines Vergleichs dar, bei dem der linke Operand kleiner als der rechte Operand ist.
const QPartialOrdering QPartialOrdering::unordered
Stellt das Ergebnis eines Vergleichs dar, bei dem es keine Ordnungsbeziehung zwischen den beiden Operanden gibt.
Verwandte Nicht-Mitglieder
[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)
Konvertiert o in das Ergebnis eines der sechs relationalen Operatoren:
Funktion | 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 |
Diese Funktionen werden aus Gründen der Kompatibilität mit std::partial_ordering
angeboten.
Diese Funktion wurde in Qt 6.7 eingeführt.
[constexpr noexcept]
bool operator!=(QPartialOrdering lhs, QPartialOrdering rhs)
Gibt true zurück, wenn lhs und rhs unterschiedliche Ergebnisse darstellen; andernfalls wird true zurückgegeben.
[constexpr noexcept]
bool operator==(QPartialOrdering lhs, QPartialOrdering rhs)
Gibt true zurück, wenn lhs und rhs das gleiche Ergebnis darstellen; andernfalls wird false zurückgegeben.
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.