Sur cette page

QPartialOrdering Class

QPartialOrdering représente le résultat d'une comparaison qui permet d'obtenir des résultats non ordonnés. Plus d'informations...

En-tête : #include <QPartialOrdering>
CMake : find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake : QT += core
Depuis : Qt 6.0

Fonctions publiques

QPartialOrdering(std::partial_ordering stdorder)
operator std::partial_ordering() const

Membres publics statiques

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)

Description détaillée

Une valeur de type QPartialOrdering est généralement renvoyée par une fonction de comparaison à trois voies. Une telle fonction compare deux objets, déterminant s'ils sont ordonnés et, le cas échéant, leur ordre. Elle utilise ce type de retour pour indiquer que l'ordre est partiel, c'est-à-dire que toutes les paires de valeurs ne sont pas ordonnées.

QPartialOrdering a quatre valeurs, représentées par les constantes symboliques suivantes :

  • less représente que l'opérande de gauche est inférieur à celui de droite ;
  • equivalent représente que les deux opérandes sont équivalents ;
  • greater représente que l'opérande gauche est supérieur à l'opérande droit ;
  • unordered représente que les deux opérandes ne sont pas ordonnés.

QPartialOrdering est utilisé de manière idiomatique en comparant un exemple à un zéro littéral, par exemple comme ceci :

// 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
}

La comparaison de QPartialOrdering::unordered avec le littéral 0 renvoie toujours le résultat false.

Voir également Qt::strong_ordering, Qt::weak_ordering, et Aperçu des types de comparaison.

Documentation des fonctions membres

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

Construit un objet QPartialOrdering à partir de stdorder en utilisant les règles suivantes :

  • std::partial_ordering::less convertit en less.
  • std::partial_ordering::equivalent convertit en equivalent.
  • std::partial_ordering::greater convertit en greater.
  • std::partial_ordering::unordered convertit en unordered

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

Convertit cette valeur QPartialOrdering en un objet std::partial_ordering en utilisant les règles suivantes :

  • less convertit en std::partial_ordering::less.
  • equivalent convertit en std::partial_ordering::equivalent.
  • greater convertit en std::partial_ordering::greater.
  • unordered convertit en std::partial_ordering::unordered.

Documentation des variables membres

const QPartialOrdering QPartialOrdering::Equivalent

Représente le résultat d'une comparaison où les deux opérandes sont équivalents.

const QPartialOrdering QPartialOrdering::Greater

Représente le résultat d'une comparaison où l'opérande de gauche est plus grand que l'opérande de droite.

const QPartialOrdering QPartialOrdering::Less

Représente le résultat d'une comparaison où l'opérande de gauche est inférieur à l'opérande de droite.

const QPartialOrdering QPartialOrdering::Unordered

Représente le résultat d'une comparaison où il n'y a pas de relation d'ordre entre les deux opérandes.

const QPartialOrdering QPartialOrdering::equivalent

Représente le résultat d'une comparaison où les deux opérandes sont équivalents.

const QPartialOrdering QPartialOrdering::greater

Représente le résultat d'une comparaison où l'opérande de gauche est plus grand que l'opérande de droite.

const QPartialOrdering QPartialOrdering::less

Représente le résultat d'une comparaison où l'opérande de gauche est inférieur à l'opérande de droite.

const QPartialOrdering QPartialOrdering::unordered

Représente le résultat d'une comparaison où il n'y a pas de relation d'ordre entre les deux opérandes.

Non-membres apparentés

[constexpr noexcept, since 6.7] bool is_eq(QPartialOrdering o)

[constexpr noexcept, since 6.7] bool is_neq(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_gt(QPartialOrdering o)

[constexpr noexcept, since 6.7] bool is_gteq(QPartialOrdering o)

Convertit o en résultat de l'un des six opérateurs relationnels :

FonctionOpération
is_eqo == 0
is_neqo != 0
is_lto < 0
is_lteqo <= 0
is_gto > 0
is_gteqo >= 0

Ces fonctions sont fournies à des fins de compatibilité avec std::partial_ordering.

Ces fonctions ont été introduites dans Qt 6.7.

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

Retourne vrai si lhs et rhs représentent des résultats différents ; sinon, retourne vrai.

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

Retourne vrai si lhs et rhs représentent le même résultat ; sinon, retourne faux.

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