IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

QPartialOrdering Class

QPartialOrdering represents the result of a comparison that allows for unordered results.

This class was introduced in Qt 6.0.

Article lu   fois.

L'auteur

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

QPartialOrdering Class

  • Header: QPartialOrdering

  • Since: Qt 6.0

  • CMake:

    find_package(Qt6 REQUIRED COMPONENTS Core)

    target_link_libraries(mytarget PRIVATE Qt6::Core)

  • qmake: QT += core

Detailed Description

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:

  • less represents that the left operand is less than the right;

  • equivalent represents that the two operands are equivalent;

  • greater represents that the left operand is greater than the right;

  • unordered represents that the two operands are not ordered.

QPartialOrdering is idiomatically used by comparing an instance against a literal zero, for instance like this:

 
Sélectionnez
// 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

Member Function Documentation

 

[default] QPartialOrdering::QPartialOrdering(int stdorder)

Constructs a QPartialOrdering object from stdorder using the following rules:

  • std::partial_ordering::less converts to less.

  • std::partial_ordering::equivalent converts to equivalent.

  • std::partial_ordering::greater converts to greater.

  • std::partial_ordering::unordered converts to unordered

Member Variable Documentation

 

const QPartialOrdering QPartialOrdering::Equivalent

Represents the result of a comparison where the two operands are equivalent.

const QPartialOrdering QPartialOrdering::Greater

Represents the result of a comparison where the left operand is greater than the right operand.

const QPartialOrdering QPartialOrdering::Less

Represents the result of a comparison where the left operand is less than the right operand.

const QPartialOrdering QPartialOrdering::Unordered

Represents the result of a comparison where there is no ordering relationship between the two operands.

const QPartialOrdering QPartialOrdering::equivalent

Represents the result of a comparison where the two operands are equivalent.

const QPartialOrdering QPartialOrdering::greater

Represents the result of a comparison where the left operand is greater than the right operand.

const QPartialOrdering QPartialOrdering::less

Represents the result of a comparison where the left operand is less than the right operand.

const QPartialOrdering QPartialOrdering::unordered

Represents the result of a comparison where there is no ordering relationship between the two operands.

Related Non-Members

 

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

[constexpr, since 6.7] bool is_gt(QPartialOrdering o)

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

[constexpr, since 6.7] bool is_lt(QPartialOrdering o)

[constexpr, since 6.7] bool is_lteq(QPartialOrdering o)

[constexpr, 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] bool operator!=(QPartialOrdering lhs, QPartialOrdering rhs)

Return true if lhs and rhs represent different results; otherwise, returns true.

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

Return true if lhs and rhs represent the same result; otherwise, returns false.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+