Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qcompare.h File Reference

(f6d878d5ce4d6e41c088698bd337cf7f4438433e)

#include <QtCore/qglobal.h>
#include <QtCore/qcompare_impl.h>
#include <QtCore/qstdlibdetection.h>
#include <QtCore/qcomparehelpers.h>
Include dependency graph for qcompare.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Qt::partial_ordering
 \variable Qt::weak_ordering::less More...
class  Qt::weak_ordering
 \variable Qt::strong_ordering::less More...
class  Qt::strong_ordering
 \inmodule QtCore \title Classes and helpers for defining comparison operators \keyword qtcompare More...
class  QPartialOrdering
 \variable Qt::partial_ordering::less More...

Namespaces

namespace  QtPrivate
namespace  QtOrderingPrivate
namespace  Qt

Typedefs

using QtPrivate::CompareUnderlyingType = qint8

Enumerations

enum class  QtPrivate::Ordering : CompareUnderlyingType { QtPrivate::Equal = 0 , QtPrivate::Equivalent = Equal , QtPrivate::Less = -1 , QtPrivate::Greater = 1 }
enum class  QtPrivate::Uncomparable : CompareUnderlyingType { QtPrivate::Unordered = }
enum class  QtPrivate::LegacyUncomparable : CompareUnderlyingType { QtPrivate::Unordered = QtPrivate::LegacyUncomparableValue }

Functions

template<typename O>
constexpr O QtOrderingPrivate::reversed (O o) noexcept
template<typename LT, typename RT, std::enable_if_t< std::disjunction_v< QtOrderingPrivate::CompareThreeWayTester::HasCompareThreeWay< LT, RT >, QtOrderingPrivate::CompareThreeWayTester::HasCompareThreeWay< RT, LT > >, bool > = true>
QT_BEGIN_INCLUDE_NAMESPACE QT_END_INCLUDE_NAMESPACE auto qCompareThreeWay (const LT &lhs, const RT &rhs) noexcept(QtOrderingPrivate::CompareThreeWayTester::compareThreeWayNoexcept< LT, RT >())

Variables

constexpr CompareUnderlyingType QtPrivate::LegacyUncomparableValue = -127

Function Documentation

◆ qCompareThreeWay()

template<typename LT, typename RT, std::enable_if_t< std::disjunction_v< QtOrderingPrivate::CompareThreeWayTester::HasCompareThreeWay< LT, RT >, QtOrderingPrivate::CompareThreeWayTester::HasCompareThreeWay< RT, LT > >, bool > = true>
QT_BEGIN_INCLUDE_NAMESPACE QT_END_INCLUDE_NAMESPACE auto qCompareThreeWay ( const LT & lhs,
const RT & rhs )
noexcept

Definition at line 656 of file qcompare.h.