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

(1a74f77f57fff52e0166dd895a8c6d9e09b388a4)

#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 661 of file qcompare.h.