Auf dieser Seite

QPartialOrdering Class

QPartialOrdering stellt das Ergebnis eines Vergleichs dar, bei dem ungeordnete Ergebnisse zulässig sind. Mehr...

Überschrift: #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)
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
(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)

Ausführliche 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, falls ja, in welcher Reihenfolge. Sie verwendet diesen Rückgabetyp, um anzuzeigen, dass es sich um eine partielle Ordnung handelt, 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 bedeutet, dass die beiden Operanden gleich sind;
  • greater bedeutet, dass der linke Operand größer ist als der rechte;
  • unordered bedeutet, dass die beiden Operanden nicht geordnet sind.

QPartialOrdering wird üblicherweise verwendet, indem eine Instanz mit dem Literal Null verglichen wird, zum Beispiel 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 das Ergebnis ` false `.

Siehe auch „ Qt::strong_ordering “, „ Qt::weak_ordering “ und „Übersicht über Vergleichstypen“.

Dokumentation zu Mitgliedsfunktionen

[constexpr noexcept] QPartialOrdering::QPartialOrdering(std::partial_ordering stdorder)

Erstellt ein QPartialOrdering-Objekt aus stdorder unter Anwendung der folgenden Regeln:

  • „std::partial_ordering::less“ wird in „ less “ umgewandelt.
  • „std::partial_ordering::equivalent“ wird in „ equivalent “ konvertiert.
  • „std::partial_ordering::greater“ wird in „ greater “ konvertiert.
  • std::partial_ordering::unordered wird konvertiert in unordered

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

Wandelt diesen Wert vom Typ „ QPartialOrdering “ unter Anwendung der folgenden Regeln in ein Objekt vom Typ „std::partial_ordering“ um:

  • less wird in `std::partial_ordering::less` konvertiert.
  • equivalent Wird in `std::partial_ordering::equivalent` konvertiert.
  • greater Wird in `std::partial_ordering::greater` konvertiert.
  • unordered Wird in `std::partial_ordering::unordered` konvertiert.

Dokumentation zu den Member-Variablen

const QPartialOrdering QPartialOrdering::Equivalent

Stellt das Ergebnis eines Vergleichs dar, bei dem die beiden Operanden gleich sind.

const QPartialOrdering QPartialOrdering::Greater

Stellt das Ergebnis eines Vergleichs dar, bei dem der linke Operand größer ist als der rechte Operand.

const QPartialOrdering QPartialOrdering::Less

Stellt das Ergebnis eines Vergleichs dar, bei dem der linke Operand kleiner ist als der rechte Operand.

const QPartialOrdering QPartialOrdering::Unordered

Stellt das Ergebnis eines Vergleichs dar, bei dem zwischen den beiden Operanden keine Reihenfolgebeziehung besteht.

const QPartialOrdering QPartialOrdering::equivalent

Stellt das Ergebnis eines Vergleichs dar, bei dem die beiden Operanden gleich sind.

const QPartialOrdering QPartialOrdering::greater

Stellt das Ergebnis eines Vergleichs dar, bei dem der linke Operand größer ist als der rechte Operand.

const QPartialOrdering QPartialOrdering::less

Stellt das Ergebnis eines Vergleichs dar, bei dem der linke Operand kleiner ist als der rechte Operand.

const QPartialOrdering QPartialOrdering::unordered

Stellt das Ergebnis eines Vergleichs dar, bei dem zwischen den beiden Operanden keine Reihenfolgebeziehung besteht.

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)

Wandelt „ o “ in das Ergebnis eines der sechs relationalen Operatoren um:

FunktionOperation
is_eqo == 0
is_neqo != 0
is_lto < 0
is_lteqo <= 0
is_gto > 0
is_gteqo >= 0

Diese Funktionen werden aus Kompatibilitätsgründen mit „ std::partial_ordering “ bereitgestellt.

Diese Funktionen wurden in Qt 6.7 eingeführt.

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

Gibt „true“ zurück, wenn lhs und rhs unterschiedliche Ergebnisse liefern; andernfalls wird „true“ zurückgegeben.

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

Gibt „true“ zurück, wenn „ lhs “ und „ rhs “ dasselbe Ergebnis darstellen; andernfalls wird „false“ zurückgegeben.

© 2026 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.