Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
|
#include <QtCore/qoverload.h>
#include <QtCore/qttypetraits.h>
#include <QtCore/qtypes.h>
#include <QtCore/q20type_traits.h>
#include <functional>
Go to the source code of this file.
Namespaces | |
namespace | QtOrderingPrivate |
namespace | QtPrivate |
\macro QT_NO_KEYWORDS > | |
namespace | Qt |
Macros | |
#define | QT_DECLARE_EQUALITY_OPERATORS_HELPER(LeftType, RightType, Constexpr, Attributes) |
#define | QT_DECLARE_EQUALITY_OPERATORS_REVERSED_HELPER(LeftType, RightType, Constexpr, Attributes) |
#define | QT_DECLARE_ORDERING_HELPER_TEMPLATE(OrderingType, LeftType, RightType, Constexpr, Attributes) |
#define | QT_DECLARE_ORDERING_HELPER_PARTIAL(LeftType, RightType, Constexpr, Attributes) |
#define | QT_DECLARE_ORDERING_HELPER_WEAK(LeftType, RightType, Constexpr, Attributes) |
#define | QT_DECLARE_ORDERING_HELPER_STRONG(LeftType, RightType, Constexpr, Attributes) |
#define | QT_DECLARE_ORDERING_OPERATORS_HELPER(OrderingString, LeftType, RightType, Constexpr, Attributes) |
#define | QT_DECLARE_REVERSED_ORDERING_HELPER_TEMPLATE(OrderingType, LeftType, RightType, Constexpr, Attributes) |
#define | QT_DECLARE_REVERSED_ORDERING_HELPER_PARTIAL(LeftType, RightType, Constexpr, Attributes) |
#define | QT_DECLARE_REVERSED_ORDERING_HELPER_WEAK(LeftType, RightType, Constexpr, Attributes) |
#define | QT_DECLARE_REVERSED_ORDERING_HELPER_STRONG(LeftType, RightType, Constexpr, Attributes) |
#define | QT_DECLARE_ORDERING_OPERATORS_REVERSED_HELPER(OrderingString, LeftType, RightType, Constexpr, Attributes) |
#define | QT_DECLARE_EQUALITY_COMPARABLE_1(Type) QT_DECLARE_EQUALITY_OPERATORS_HELPER(Type, Type, /* non-constexpr */, /* no attributes */) |
#define | QT_DECLARE_EQUALITY_COMPARABLE_2(LeftType, RightType) |
#define | QT_DECLARE_EQUALITY_COMPARABLE_3(LeftType, RightType, Attributes) |
#define | Q_DECLARE_EQUALITY_COMPARABLE(...) QT_OVERLOADED_MACRO(QT_DECLARE_EQUALITY_COMPARABLE, __VA_ARGS__) |
#define | QT_DECLARE_EQUALITY_COMPARABLE_LITERAL_TYPE_1(Type) QT_DECLARE_EQUALITY_OPERATORS_HELPER(Type, Type, constexpr, /* no attributes */) |
#define | QT_DECLARE_EQUALITY_COMPARABLE_LITERAL_TYPE_2(LeftType, RightType) |
#define | QT_DECLARE_EQUALITY_COMPARABLE_LITERAL_TYPE_3(LeftType, RightType, Attributes) |
#define | Q_DECLARE_EQUALITY_COMPARABLE_LITERAL_TYPE(...) QT_OVERLOADED_MACRO(QT_DECLARE_EQUALITY_COMPARABLE_LITERAL_TYPE, __VA_ARGS__) |
#define | QT_DECLARE_PARTIALLY_ORDERED_1(Type) |
#define | QT_DECLARE_PARTIALLY_ORDERED_2(LeftType, RightType) |
#define | QT_DECLARE_PARTIALLY_ORDERED_3(LeftType, RightType, Attributes) |
#define | Q_DECLARE_PARTIALLY_ORDERED(...) QT_OVERLOADED_MACRO(QT_DECLARE_PARTIALLY_ORDERED, __VA_ARGS__) |
#define | QT_DECLARE_PARTIALLY_ORDERED_LITERAL_TYPE_1(Type) QT_DECLARE_ORDERING_OPERATORS_HELPER(PARTIAL, Type, Type, constexpr, /* no attributes */) |
#define | QT_DECLARE_PARTIALLY_ORDERED_LITERAL_TYPE_2(LeftType, RightType) |
#define | QT_DECLARE_PARTIALLY_ORDERED_LITERAL_TYPE_3(LeftType, RightType, Attributes) |
#define | Q_DECLARE_PARTIALLY_ORDERED_LITERAL_TYPE(...) QT_OVERLOADED_MACRO(QT_DECLARE_PARTIALLY_ORDERED_LITERAL_TYPE, __VA_ARGS__) |
#define | QT_DECLARE_WEAKLY_ORDERED_1(Type) QT_DECLARE_ORDERING_OPERATORS_HELPER(WEAK, Type, Type, /* non-constexpr */, /* no attributes */) |
#define | QT_DECLARE_WEAKLY_ORDERED_2(LeftType, RightType) |
#define | QT_DECLARE_WEAKLY_ORDERED_3(LeftType, RightType, Attributes) |
#define | Q_DECLARE_WEAKLY_ORDERED(...) QT_OVERLOADED_MACRO(QT_DECLARE_WEAKLY_ORDERED, __VA_ARGS__) |
#define | QT_DECLARE_WEAKLY_ORDERED_LITERAL_TYPE_1(Type) QT_DECLARE_ORDERING_OPERATORS_HELPER(WEAK, Type, Type, constexpr, /* no attributes */) |
#define | QT_DECLARE_WEAKLY_ORDERED_LITERAL_TYPE_2(LeftType, RightType) |
#define | QT_DECLARE_WEAKLY_ORDERED_LITERAL_TYPE_3(LeftType, RightType, Attributes) |
#define | Q_DECLARE_WEAKLY_ORDERED_LITERAL_TYPE(...) QT_OVERLOADED_MACRO(QT_DECLARE_WEAKLY_ORDERED_LITERAL_TYPE, __VA_ARGS__) |
#define | QT_DECLARE_STRONGLY_ORDERED_1(Type) |
#define | QT_DECLARE_STRONGLY_ORDERED_2(LeftType, RightType) |
#define | QT_DECLARE_STRONGLY_ORDERED_3(LeftType, RightType, Attributes) |
#define | Q_DECLARE_STRONGLY_ORDERED(...) QT_OVERLOADED_MACRO(QT_DECLARE_STRONGLY_ORDERED, __VA_ARGS__) |
#define | QT_DECLARE_STRONGLY_ORDERED_LITERAL_TYPE_1(Type) QT_DECLARE_ORDERING_OPERATORS_HELPER(STRONG, Type, Type, constexpr, /* no attributes */) |
#define | QT_DECLARE_STRONGLY_ORDERED_LITERAL_TYPE_2(LeftType, RightType) |
#define | QT_DECLARE_STRONGLY_ORDERED_LITERAL_TYPE_3(LeftType, RightType, Attributes) |
#define | Q_DECLARE_STRONGLY_ORDERED_LITERAL_TYPE(...) QT_OVERLOADED_MACRO(QT_DECLARE_STRONGLY_ORDERED_LITERAL_TYPE, __VA_ARGS__) |
Typedefs | |
template<typename T > | |
using | Qt::if_integral = std::enable_if_t<QtPrivate::IsIntegralType_v<T>, bool> |
template<typename T > | |
using | Qt::if_floating_point = std::enable_if_t<QtPrivate::IsFloatType_v<T>, bool> |
template<typename T , typename U > | |
using | Qt::if_compatible_pointers |
template<typename Enum > | |
using | Qt::if_enum = std::enable_if_t<std::is_enum_v<Enum>, bool> |
Functions | |
template<typename LeftInt , typename RightInt , if_integral< LeftInt > = true, if_integral< RightInt > = true> | |
constexpr Qt::strong_ordering | Qt::compareThreeWay (LeftInt lhs, RightInt rhs) noexcept |
template<typename LeftFloat , typename RightFloat , if_floating_point< LeftFloat > = true, if_floating_point< RightFloat > = true> | |
constexpr Qt::partial_ordering | Qt::compareThreeWay (LeftFloat lhs, RightFloat rhs) noexcept |
template<typename IntType , typename FloatType , if_integral< IntType > = true, if_floating_point< FloatType > = true> | |
constexpr Qt::partial_ordering | Qt::compareThreeWay (IntType lhs, FloatType rhs) noexcept |
template<typename FloatType , typename IntType , if_floating_point< FloatType > = true, if_integral< IntType > = true> | |
constexpr Qt::partial_ordering | Qt::compareThreeWay (FloatType lhs, IntType rhs) noexcept |
template<typename LeftType , typename RightType , if_compatible_pointers< LeftType, RightType > = true> | |
constexpr Qt::strong_ordering | Qt::compareThreeWay (const LeftType *lhs, const RightType *rhs) noexcept |
template<typename T > | |
constexpr Qt::strong_ordering | Qt::compareThreeWay (const T *lhs, std::nullptr_t rhs) noexcept |
template<typename T > | |
constexpr Qt::strong_ordering | Qt::compareThreeWay (std::nullptr_t lhs, const T *rhs) noexcept |
template<class Enum , if_enum< Enum > = true> | |
constexpr Qt::strong_ordering | Qt::compareThreeWay (Enum lhs, Enum rhs) noexcept |
Variables | |
template<typename T > | |
constexpr bool | QtPrivate::IsIntegralType_v |
template<typename T > | |
constexpr bool | QtPrivate::IsFloatType_v = std::is_floating_point_v<T> |
#define Q_DECLARE_EQUALITY_COMPARABLE | ( | ... | ) | QT_OVERLOADED_MACRO(QT_DECLARE_EQUALITY_COMPARABLE, __VA_ARGS__) |
Definition at line 309 of file qcomparehelpers.h.
#define Q_DECLARE_EQUALITY_COMPARABLE_LITERAL_TYPE | ( | ... | ) | QT_OVERLOADED_MACRO(QT_DECLARE_EQUALITY_COMPARABLE_LITERAL_TYPE, __VA_ARGS__) |
Definition at line 324 of file qcomparehelpers.h.
#define Q_DECLARE_PARTIALLY_ORDERED | ( | ... | ) | QT_OVERLOADED_MACRO(QT_DECLARE_PARTIALLY_ORDERED, __VA_ARGS__) |
Definition at line 344 of file qcomparehelpers.h.
#define Q_DECLARE_PARTIALLY_ORDERED_LITERAL_TYPE | ( | ... | ) | QT_OVERLOADED_MACRO(QT_DECLARE_PARTIALLY_ORDERED_LITERAL_TYPE, __VA_ARGS__) |
Definition at line 361 of file qcomparehelpers.h.
#define Q_DECLARE_STRONGLY_ORDERED | ( | ... | ) | QT_OVERLOADED_MACRO(QT_DECLARE_STRONGLY_ORDERED, __VA_ARGS__) |
Definition at line 417 of file qcomparehelpers.h.
#define Q_DECLARE_STRONGLY_ORDERED_LITERAL_TYPE | ( | ... | ) | QT_OVERLOADED_MACRO(QT_DECLARE_STRONGLY_ORDERED_LITERAL_TYPE, __VA_ARGS__) |
Definition at line 434 of file qcomparehelpers.h.
#define Q_DECLARE_WEAKLY_ORDERED | ( | ... | ) | QT_OVERLOADED_MACRO(QT_DECLARE_WEAKLY_ORDERED, __VA_ARGS__) |
Definition at line 380 of file qcomparehelpers.h.
#define Q_DECLARE_WEAKLY_ORDERED_LITERAL_TYPE | ( | ... | ) | QT_OVERLOADED_MACRO(QT_DECLARE_WEAKLY_ORDERED_LITERAL_TYPE, __VA_ARGS__) |
Definition at line 397 of file qcomparehelpers.h.
#define QT_DECLARE_EQUALITY_COMPARABLE_1 | ( | Type | ) | QT_DECLARE_EQUALITY_OPERATORS_HELPER(Type, Type, /* non-constexpr */, /* no attributes */) |
Definition at line 295 of file qcomparehelpers.h.
#define QT_DECLARE_EQUALITY_COMPARABLE_2 | ( | LeftType, | |
RightType ) |
Definition at line 298 of file qcomparehelpers.h.
#define QT_DECLARE_EQUALITY_COMPARABLE_3 | ( | LeftType, | |
RightType, | |||
Attributes ) |
Definition at line 304 of file qcomparehelpers.h.
#define QT_DECLARE_EQUALITY_COMPARABLE_LITERAL_TYPE_1 | ( | Type | ) | QT_DECLARE_EQUALITY_OPERATORS_HELPER(Type, Type, constexpr, /* no attributes */) |
Definition at line 312 of file qcomparehelpers.h.
#define QT_DECLARE_EQUALITY_COMPARABLE_LITERAL_TYPE_2 | ( | LeftType, | |
RightType ) |
Definition at line 315 of file qcomparehelpers.h.
#define QT_DECLARE_EQUALITY_COMPARABLE_LITERAL_TYPE_3 | ( | LeftType, | |
RightType, | |||
Attributes ) |
Definition at line 320 of file qcomparehelpers.h.
#define QT_DECLARE_EQUALITY_OPERATORS_HELPER | ( | LeftType, | |
RightType, | |||
Constexpr, | |||
Attributes ) |
Definition at line 195 of file qcomparehelpers.h.
#define QT_DECLARE_EQUALITY_OPERATORS_REVERSED_HELPER | ( | LeftType, | |
RightType, | |||
Constexpr, | |||
Attributes ) |
Definition at line 206 of file qcomparehelpers.h.
#define QT_DECLARE_ORDERING_HELPER_PARTIAL | ( | LeftType, | |
RightType, | |||
Constexpr, | |||
Attributes ) |
Definition at line 235 of file qcomparehelpers.h.
#define QT_DECLARE_ORDERING_HELPER_STRONG | ( | LeftType, | |
RightType, | |||
Constexpr, | |||
Attributes ) |
Definition at line 243 of file qcomparehelpers.h.
#define QT_DECLARE_ORDERING_HELPER_TEMPLATE | ( | OrderingType, | |
LeftType, | |||
RightType, | |||
Constexpr, | |||
Attributes ) |
Definition at line 216 of file qcomparehelpers.h.
#define QT_DECLARE_ORDERING_HELPER_WEAK | ( | LeftType, | |
RightType, | |||
Constexpr, | |||
Attributes ) |
Definition at line 239 of file qcomparehelpers.h.
#define QT_DECLARE_ORDERING_OPERATORS_HELPER | ( | OrderingString, | |
LeftType, | |||
RightType, | |||
Constexpr, | |||
Attributes ) |
Definition at line 247 of file qcomparehelpers.h.
#define QT_DECLARE_ORDERING_OPERATORS_REVERSED_HELPER | ( | OrderingString, | |
LeftType, | |||
RightType, | |||
Constexpr, | |||
Attributes ) |
Definition at line 284 of file qcomparehelpers.h.
#define QT_DECLARE_PARTIALLY_ORDERED_1 | ( | Type | ) |
Definition at line 328 of file qcomparehelpers.h.
#define QT_DECLARE_PARTIALLY_ORDERED_2 | ( | LeftType, | |
RightType ) |
Definition at line 332 of file qcomparehelpers.h.
#define QT_DECLARE_PARTIALLY_ORDERED_3 | ( | LeftType, | |
RightType, | |||
Attributes ) |
Definition at line 338 of file qcomparehelpers.h.
#define QT_DECLARE_PARTIALLY_ORDERED_LITERAL_TYPE_1 | ( | Type | ) | QT_DECLARE_ORDERING_OPERATORS_HELPER(PARTIAL, Type, Type, constexpr, /* no attributes */) |
Definition at line 347 of file qcomparehelpers.h.
#define QT_DECLARE_PARTIALLY_ORDERED_LITERAL_TYPE_2 | ( | LeftType, | |
RightType ) |
Definition at line 350 of file qcomparehelpers.h.
#define QT_DECLARE_PARTIALLY_ORDERED_LITERAL_TYPE_3 | ( | LeftType, | |
RightType, | |||
Attributes ) |
Definition at line 356 of file qcomparehelpers.h.
#define QT_DECLARE_REVERSED_ORDERING_HELPER_PARTIAL | ( | LeftType, | |
RightType, | |||
Constexpr, | |||
Attributes ) |
Definition at line 272 of file qcomparehelpers.h.
#define QT_DECLARE_REVERSED_ORDERING_HELPER_STRONG | ( | LeftType, | |
RightType, | |||
Constexpr, | |||
Attributes ) |
Definition at line 280 of file qcomparehelpers.h.
#define QT_DECLARE_REVERSED_ORDERING_HELPER_TEMPLATE | ( | OrderingType, | |
LeftType, | |||
RightType, | |||
Constexpr, | |||
Attributes ) |
Definition at line 253 of file qcomparehelpers.h.
#define QT_DECLARE_REVERSED_ORDERING_HELPER_WEAK | ( | LeftType, | |
RightType, | |||
Constexpr, | |||
Attributes ) |
Definition at line 276 of file qcomparehelpers.h.
#define QT_DECLARE_STRONGLY_ORDERED_1 | ( | Type | ) |
Definition at line 401 of file qcomparehelpers.h.
#define QT_DECLARE_STRONGLY_ORDERED_2 | ( | LeftType, | |
RightType ) |
Definition at line 405 of file qcomparehelpers.h.
#define QT_DECLARE_STRONGLY_ORDERED_3 | ( | LeftType, | |
RightType, | |||
Attributes ) |
Definition at line 411 of file qcomparehelpers.h.
#define QT_DECLARE_STRONGLY_ORDERED_LITERAL_TYPE_1 | ( | Type | ) | QT_DECLARE_ORDERING_OPERATORS_HELPER(STRONG, Type, Type, constexpr, /* no attributes */) |
Definition at line 420 of file qcomparehelpers.h.
#define QT_DECLARE_STRONGLY_ORDERED_LITERAL_TYPE_2 | ( | LeftType, | |
RightType ) |
Definition at line 423 of file qcomparehelpers.h.
#define QT_DECLARE_STRONGLY_ORDERED_LITERAL_TYPE_3 | ( | LeftType, | |
RightType, | |||
Attributes ) |
Definition at line 429 of file qcomparehelpers.h.
#define QT_DECLARE_WEAKLY_ORDERED_1 | ( | Type | ) | QT_DECLARE_ORDERING_OPERATORS_HELPER(WEAK, Type, Type, /* non-constexpr */, /* no attributes */) |
Definition at line 365 of file qcomparehelpers.h.
#define QT_DECLARE_WEAKLY_ORDERED_2 | ( | LeftType, | |
RightType ) |
Definition at line 368 of file qcomparehelpers.h.
#define QT_DECLARE_WEAKLY_ORDERED_3 | ( | LeftType, | |
RightType, | |||
Attributes ) |
Definition at line 374 of file qcomparehelpers.h.
#define QT_DECLARE_WEAKLY_ORDERED_LITERAL_TYPE_1 | ( | Type | ) | QT_DECLARE_ORDERING_OPERATORS_HELPER(WEAK, Type, Type, constexpr, /* no attributes */) |
Definition at line 383 of file qcomparehelpers.h.
#define QT_DECLARE_WEAKLY_ORDERED_LITERAL_TYPE_2 | ( | LeftType, | |
RightType ) |
Definition at line 386 of file qcomparehelpers.h.
#define QT_DECLARE_WEAKLY_ORDERED_LITERAL_TYPE_3 | ( | LeftType, | |
RightType, | |||
Attributes ) |
Definition at line 392 of file qcomparehelpers.h.