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
qvariant.cpp File Reference

(39d74003a0834eedc925cd2ef865b5cc70efbaf7)

#include "qvariant_p.h"
#include "private/qlocale_p.h"
#include "qmetatype_p.h"
#include "qbitarray.h"
#include "qbytearray.h"
#include "qbytearraylist.h"
#include "qcborarray.h"
#include "qcborcommon.h"
#include "qcbormap.h"
#include "qdatastream.h"
#include "qdatetime.h"
#include "qdebug.h"
#include "qhash.h"
#include "qjsonarray.h"
#include "qjsondocument.h"
#include "qjsonobject.h"
#include "qjsonvalue.h"
#include "qline.h"
#include "qlist.h"
#include "qlocale.h"
#include "qmap.h"
#include "qpoint.h"
#include "qrect.h"
#include "qsize.h"
#include "qstring.h"
#include "qstringlist.h"
#include "qurl.h"
#include "quuid.h"
#include <memory>
#include <cmath>
#include <cstring>
Include dependency graph for qvariant.cpp:

Go to the source code of this file.

Macros

#define MAKE_CTOR_BY_VALUE(...)
#define MAKE_CTOR_BY_REF(...)

Enumerations

enum  { MapFromThreeCount = 36 , MapFromThreeCount = 36 }
enum  { MapFromThreeCount = 36 , MapFromThreeCount = 36 }

Functions

 MAKE_CTOR_BY_VALUE (int)
 MAKE_CTOR_BY_VALUE (uint)
 MAKE_CTOR_BY_VALUE (qlonglong)
 MAKE_CTOR_BY_VALUE (qulonglong)
 MAKE_CTOR_BY_VALUE (bool)
 MAKE_CTOR_BY_VALUE (double)
 MAKE_CTOR_BY_VALUE (float)
 MAKE_CTOR_BY_REF (QByteArray)
 MAKE_CTOR_BY_REF (QBitArray)
 MAKE_CTOR_BY_REF (QString)
 MAKE_CTOR_BY_VALUE (QChar)
 MAKE_CTOR_BY_REF (QStringList)
 MAKE_CTOR_BY_VALUE (QDate)
 MAKE_CTOR_BY_VALUE (QTime)
 MAKE_CTOR_BY_REF (QDateTime)
 MAKE_CTOR_BY_REF (QList< QVariant >)
 MAKE_CTOR_BY_REF (QMap< QString, QVariant >)
 MAKE_CTOR_BY_REF (QHash< QString, QVariant >)
 MAKE_CTOR_BY_VALUE (QPoint)
 MAKE_CTOR_BY_VALUE (QPointF)
 MAKE_CTOR_BY_VALUE (QRect)
 MAKE_CTOR_BY_VALUE (QRectF)
 MAKE_CTOR_BY_VALUE (QLine)
 MAKE_CTOR_BY_VALUE (QLineF)
 MAKE_CTOR_BY_VALUE (QSize)
 MAKE_CTOR_BY_VALUE (QSizeF)
 MAKE_CTOR_BY_REF (QUrl)
 MAKE_CTOR_BY_REF (QLocale)
 MAKE_CTOR_BY_VALUE (QUuid)
 MAKE_CTOR_BY_REF (QJsonObject)
 MAKE_CTOR_BY_REF (QJsonArray)
template<typename T>
qNumVariantToHelper (const QVariant::Private &d, bool *ok)
static bool qIsNumericType (uint tp)
static bool qIsFloatingPoint (uint tp)
static bool canBeNumericallyCompared (const QtPrivate::QMetaTypeInterface *iface1, const QtPrivate::QMetaTypeInterface *iface2)
static int numericTypePromotion (const QtPrivate::QMetaTypeInterface *iface1, const QtPrivate::QMetaTypeInterface *iface2)
static QPartialOrdering integralCompare (uint promotedType, const QVariant::Private *d1, const QVariant::Private *d2)
static QPartialOrdering numericCompare (const QVariant::Private *d1, const QVariant::Private *d2)
static bool qvCanConvertMetaObject (QMetaType fromType, QMetaType toType)
static QPartialOrdering pointerCompare (const QVariant::Private *d1, const QVariant::Private *d2)

Variables

static const ushort mapIdFromQt3ToCurrent [MapFromThreeCount]
constexpr int Qt5UserType = 1024
constexpr int Qt5LastCoreType = QMetaType::QCborMap
constexpr int Qt5FirstGuiType = 64
constexpr int Qt5LastGuiType = 87
constexpr int Qt5SizePolicy = 121
constexpr int Qt5RegExp = 27
constexpr int Qt5KeySequence = 75
constexpr int Qt5QQuaternion = 85
constexpr int Qt6ToQt5GuiTypeDelta = qToUnderlying(QMetaType::FirstGuiType) - Qt5FirstGuiType

Macro Definition Documentation

◆ MAKE_CTOR_BY_REF

#define MAKE_CTOR_BY_REF ( ...)
Value:
QVariant::QVariant(__VA_ARGS__ &&val) noexcept \
: d{std::in_place, std::move(val)} {} \
QVariant::QVariant(const __VA_ARGS__ &val) noexcept \
: d{std::in_place, val} {} \
static_assert(std::is_nothrow_copy_constructible_v<__VA_ARGS__>); \
static_assert(std::is_nothrow_move_constructible_v<__VA_ARGS__>) \
/* end */
QVariant() noexcept
Constructs an invalid variant.
Definition qvariant.h:227
GLuint GLfloat * val
static constexpr bool CanUseInternalSpace
Definition qvariant.h:104

Definition at line 1038 of file qvariant.cpp.

◆ MAKE_CTOR_BY_VALUE

#define MAKE_CTOR_BY_VALUE ( ...)
Value:
QVariant::QVariant(__VA_ARGS__ val) \
: d{std::in_place, std::move(val)} {} \
static_assert(std::is_nothrow_copy_constructible_v<__VA_ARGS__>) \
/* end */

Definition at line 1031 of file qvariant.cpp.

Enumeration Type Documentation

◆ anonymous enum [1/2]

anonymous enum
Enumerator
MapFromThreeCount 
MapFromThreeCount 

Definition at line 1252 of file qvariant.cpp.

◆ anonymous enum [2/2]

anonymous enum
Enumerator
MapFromThreeCount 
MapFromThreeCount 

Definition at line 1252 of file qvariant.cpp.

Function Documentation

◆ canBeNumericallyCompared()

bool canBeNumericallyCompared ( const QtPrivate::QMetaTypeInterface * iface1,
const QtPrivate::QMetaTypeInterface * iface2 )
static

Definition at line 2329 of file qvariant.cpp.

Referenced by numericTypePromotion().

Here is the caller graph for this function:

◆ integralCompare()

QPartialOrdering integralCompare ( uint promotedType,
const QVariant::Private * d1,
const QVariant::Private * d2 )
static

Definition at line 2423 of file qvariant.cpp.

◆ MAKE_CTOR_BY_REF() [1/12]

MAKE_CTOR_BY_REF ( QBitArray )

◆ MAKE_CTOR_BY_REF() [2/12]

MAKE_CTOR_BY_REF ( QByteArray )

◆ MAKE_CTOR_BY_REF() [3/12]

MAKE_CTOR_BY_REF ( QDateTime )

◆ MAKE_CTOR_BY_REF() [4/12]

MAKE_CTOR_BY_REF ( QHash< QString, QVariant > )

◆ MAKE_CTOR_BY_REF() [5/12]

MAKE_CTOR_BY_REF ( QJsonArray )

◆ MAKE_CTOR_BY_REF() [6/12]

MAKE_CTOR_BY_REF ( QJsonObject )

◆ MAKE_CTOR_BY_REF() [7/12]

MAKE_CTOR_BY_REF ( QList< QVariant > )

◆ MAKE_CTOR_BY_REF() [8/12]

MAKE_CTOR_BY_REF ( QLocale )

◆ MAKE_CTOR_BY_REF() [9/12]

MAKE_CTOR_BY_REF ( QMap< QString, QVariant > )

◆ MAKE_CTOR_BY_REF() [10/12]

MAKE_CTOR_BY_REF ( QString )

◆ MAKE_CTOR_BY_REF() [11/12]

MAKE_CTOR_BY_REF ( QStringList )

◆ MAKE_CTOR_BY_REF() [12/12]

MAKE_CTOR_BY_REF ( QUrl )

◆ MAKE_CTOR_BY_VALUE() [1/19]

MAKE_CTOR_BY_VALUE ( bool )

◆ MAKE_CTOR_BY_VALUE() [2/19]

MAKE_CTOR_BY_VALUE ( double )

◆ MAKE_CTOR_BY_VALUE() [3/19]

MAKE_CTOR_BY_VALUE ( float )

◆ MAKE_CTOR_BY_VALUE() [4/19]

MAKE_CTOR_BY_VALUE ( int )

◆ MAKE_CTOR_BY_VALUE() [5/19]

MAKE_CTOR_BY_VALUE ( QChar )

◆ MAKE_CTOR_BY_VALUE() [6/19]

MAKE_CTOR_BY_VALUE ( QDate )

◆ MAKE_CTOR_BY_VALUE() [7/19]

MAKE_CTOR_BY_VALUE ( QLine )

◆ MAKE_CTOR_BY_VALUE() [8/19]

MAKE_CTOR_BY_VALUE ( QLineF )

◆ MAKE_CTOR_BY_VALUE() [9/19]

MAKE_CTOR_BY_VALUE ( qlonglong )

◆ MAKE_CTOR_BY_VALUE() [10/19]

MAKE_CTOR_BY_VALUE ( QPoint )

◆ MAKE_CTOR_BY_VALUE() [11/19]

MAKE_CTOR_BY_VALUE ( QPointF )

◆ MAKE_CTOR_BY_VALUE() [12/19]

MAKE_CTOR_BY_VALUE ( QRect )

◆ MAKE_CTOR_BY_VALUE() [13/19]

MAKE_CTOR_BY_VALUE ( QRectF )

◆ MAKE_CTOR_BY_VALUE() [14/19]

MAKE_CTOR_BY_VALUE ( QSize )

◆ MAKE_CTOR_BY_VALUE() [15/19]

MAKE_CTOR_BY_VALUE ( QSizeF )

◆ MAKE_CTOR_BY_VALUE() [16/19]

MAKE_CTOR_BY_VALUE ( QTime )

◆ MAKE_CTOR_BY_VALUE() [17/19]

MAKE_CTOR_BY_VALUE ( qulonglong )

◆ MAKE_CTOR_BY_VALUE() [18/19]

MAKE_CTOR_BY_VALUE ( QUuid )

◆ MAKE_CTOR_BY_VALUE() [19/19]

MAKE_CTOR_BY_VALUE ( uint )

◆ numericCompare()

QPartialOrdering numericCompare ( const QVariant::Private * d1,
const QVariant::Private * d2 )
static

Definition at line 2440 of file qvariant.cpp.

◆ numericTypePromotion()

int numericTypePromotion ( const QtPrivate::QMetaTypeInterface * iface1,
const QtPrivate::QMetaTypeInterface * iface2 )
static

Definition at line 2363 of file qvariant.cpp.

References canBeNumericallyCompared().

Here is the call graph for this function:

◆ pointerCompare()

QPartialOrdering pointerCompare ( const QVariant::Private * d1,
const QVariant::Private * d2 )
static

Definition at line 2466 of file qvariant.cpp.

◆ qIsFloatingPoint()

bool qIsFloatingPoint ( uint tp)
static

Definition at line 2324 of file qvariant.cpp.

◆ qIsNumericType()

bool qIsNumericType ( uint tp)
static

Definition at line 2300 of file qvariant.cpp.

◆ qNumVariantToHelper()

template<typename T>
T qNumVariantToHelper ( const QVariant::Private & d,
bool * ok )
inline

Definition at line 1959 of file qvariant.cpp.

◆ qvCanConvertMetaObject()

bool qvCanConvertMetaObject ( QMetaType fromType,
QMetaType toType )
static

Definition at line 2455 of file qvariant.cpp.

Variable Documentation

◆ mapIdFromQt3ToCurrent

const ushort mapIdFromQt3ToCurrent
static

Definition at line 1253 of file qvariant.cpp.

◆ Qt5FirstGuiType

int Qt5FirstGuiType = 64
constexpr

Definition at line 1302 of file qvariant.cpp.

◆ Qt5KeySequence

int Qt5KeySequence = 75
constexpr

Definition at line 1306 of file qvariant.cpp.

◆ Qt5LastCoreType

int Qt5LastCoreType = QMetaType::QCborMap
constexpr

Definition at line 1301 of file qvariant.cpp.

◆ Qt5LastGuiType

int Qt5LastGuiType = 87
constexpr

Definition at line 1303 of file qvariant.cpp.

◆ Qt5QQuaternion

int Qt5QQuaternion = 85
constexpr

Definition at line 1307 of file qvariant.cpp.

◆ Qt5RegExp

int Qt5RegExp = 27
constexpr

Definition at line 1305 of file qvariant.cpp.

◆ Qt5SizePolicy

int Qt5SizePolicy = 121
constexpr

Definition at line 1304 of file qvariant.cpp.

◆ Qt5UserType

int Qt5UserType = 1024
constexpr

Definition at line 1300 of file qvariant.cpp.

◆ Qt6ToQt5GuiTypeDelta

int Qt6ToQt5GuiTypeDelta = qToUnderlying(QMetaType::FirstGuiType) - Qt5FirstGuiType
constexpr

Definition at line 1309 of file qvariant.cpp.