QVariant: clean up after its removal from Bootstrap
Amends commit cdbc76360ae4c12b25923a7cb392355a6485fc70. Change-Id: I8214429e66b3b3c20fe9fffd5b4e7f522b589215 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
This commit is contained in:
parent
eac724605a
commit
63520fd6a3
@ -4,41 +4,40 @@
|
|||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||||
|
|
||||||
#include "qvariant_p.h"
|
#include "qvariant_p.h"
|
||||||
|
|
||||||
|
#include "private/qlocale_p.h"
|
||||||
|
#include "qmetatype_p.h"
|
||||||
|
|
||||||
|
#if QT_CONFIG(itemmodel)
|
||||||
|
#include "qabstractitemmodel.h"
|
||||||
|
#endif
|
||||||
#include "qbitarray.h"
|
#include "qbitarray.h"
|
||||||
#include "qbytearray.h"
|
#include "qbytearray.h"
|
||||||
|
#include "qbytearraylist.h"
|
||||||
|
#include "qcborarray.h"
|
||||||
|
#include "qcborcommon.h"
|
||||||
|
#include "qcbormap.h"
|
||||||
#include "qdatastream.h"
|
#include "qdatastream.h"
|
||||||
#include "qdebug.h"
|
|
||||||
#include "qmap.h"
|
|
||||||
#include "qhash.h"
|
|
||||||
#include "qdatetime.h"
|
#include "qdatetime.h"
|
||||||
|
#include "qdebug.h"
|
||||||
#if QT_CONFIG(easingcurve)
|
#if QT_CONFIG(easingcurve)
|
||||||
#include "qeasingcurve.h"
|
#include "qeasingcurve.h"
|
||||||
#endif
|
#endif
|
||||||
|
#include "qhash.h"
|
||||||
|
#include "qjsonarray.h"
|
||||||
|
#include "qjsondocument.h"
|
||||||
|
#include "qjsonobject.h"
|
||||||
|
#include "qjsonvalue.h"
|
||||||
#include "qlist.h"
|
#include "qlist.h"
|
||||||
|
#include "qlocale.h"
|
||||||
|
#include "qmap.h"
|
||||||
#if QT_CONFIG(regularexpression)
|
#if QT_CONFIG(regularexpression)
|
||||||
#include "qregularexpression.h"
|
#include "qregularexpression.h"
|
||||||
#endif
|
#endif
|
||||||
#include "qstring.h"
|
#include "qstring.h"
|
||||||
#include "qstringlist.h"
|
#include "qstringlist.h"
|
||||||
#include "qurl.h"
|
#include "qurl.h"
|
||||||
#include "qlocale.h"
|
|
||||||
#include "quuid.h"
|
#include "quuid.h"
|
||||||
#if QT_CONFIG(itemmodel)
|
|
||||||
#include "qabstractitemmodel.h"
|
|
||||||
#endif
|
|
||||||
#ifndef QT_BOOTSTRAPPED
|
|
||||||
#include "qcborarray.h"
|
|
||||||
#include "qcborcommon.h"
|
|
||||||
#include "qcbormap.h"
|
|
||||||
#include "qjsonvalue.h"
|
|
||||||
#include "qjsonobject.h"
|
|
||||||
#include "qjsonarray.h"
|
|
||||||
#include "qjsondocument.h"
|
|
||||||
#include "qbytearraylist.h"
|
|
||||||
#endif
|
|
||||||
#include "private/qlocale_p.h"
|
|
||||||
#include "qmetatype_p.h"
|
|
||||||
#include <qmetaobject.h>
|
|
||||||
|
|
||||||
#ifndef QT_NO_GEOM_VARIANT
|
#ifndef QT_NO_GEOM_VARIANT
|
||||||
#include "qsize.h"
|
#include "qsize.h"
|
||||||
@ -48,9 +47,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
#include <float.h>
|
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
@ -88,12 +85,10 @@ static qlonglong qMetaTypeNumber(const QVariant::Private *d)
|
|||||||
return qRound64(d->get<float>());
|
return qRound64(d->get<float>());
|
||||||
case QMetaType::Double:
|
case QMetaType::Double:
|
||||||
return qRound64(d->get<double>());
|
return qRound64(d->get<double>());
|
||||||
#ifndef QT_BOOTSTRAPPED
|
|
||||||
case QMetaType::QJsonValue:
|
case QMetaType::QJsonValue:
|
||||||
return d->get<QJsonValue>().toDouble();
|
return d->get<QJsonValue>().toDouble();
|
||||||
case QMetaType::QCborValue:
|
case QMetaType::QCborValue:
|
||||||
return d->get<QCborValue>().toInteger();
|
return d->get<QCborValue>().toInteger();
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
Q_UNREACHABLE_RETURN(0);
|
Q_UNREACHABLE_RETURN(0);
|
||||||
}
|
}
|
||||||
@ -137,7 +132,6 @@ static std::optional<qlonglong> qConvertToNumber(const QVariant::Private *d, boo
|
|||||||
return std::nullopt;
|
return std::nullopt;
|
||||||
case QMetaType::Bool:
|
case QMetaType::Bool:
|
||||||
return qlonglong(d->get<bool>());
|
return qlonglong(d->get<bool>());
|
||||||
#ifndef QT_BOOTSTRAPPED
|
|
||||||
case QMetaType::QCborValue:
|
case QMetaType::QCborValue:
|
||||||
if (!d->get<QCborValue>().isInteger() && !d->get<QCborValue>().isDouble())
|
if (!d->get<QCborValue>().isInteger() && !d->get<QCborValue>().isDouble())
|
||||||
break;
|
break;
|
||||||
@ -146,7 +140,6 @@ static std::optional<qlonglong> qConvertToNumber(const QVariant::Private *d, boo
|
|||||||
if (!d->get<QJsonValue>().isDouble())
|
if (!d->get<QJsonValue>().isDouble())
|
||||||
break;
|
break;
|
||||||
Q_FALLTHROUGH();
|
Q_FALLTHROUGH();
|
||||||
#endif
|
|
||||||
case QMetaType::Double:
|
case QMetaType::Double:
|
||||||
case QMetaType::Int:
|
case QMetaType::Int:
|
||||||
case QMetaType::Char:
|
case QMetaType::Char:
|
||||||
@ -195,12 +188,10 @@ static std::optional<double> qConvertToRealNumber(const QVariant::Private *d)
|
|||||||
case QMetaType::UShort:
|
case QMetaType::UShort:
|
||||||
case QMetaType::ULong:
|
case QMetaType::ULong:
|
||||||
return double(qMetaTypeUNumber(d));
|
return double(qMetaTypeUNumber(d));
|
||||||
#ifndef QT_BOOTSTRAPPED
|
|
||||||
case QMetaType::QCborValue:
|
case QMetaType::QCborValue:
|
||||||
return d->get<QCborValue>().toDouble();
|
return d->get<QCborValue>().toDouble();
|
||||||
case QMetaType::QJsonValue:
|
case QMetaType::QJsonValue:
|
||||||
return d->get<QJsonValue>().toDouble();
|
return d->get<QJsonValue>().toDouble();
|
||||||
#endif
|
|
||||||
default:
|
default:
|
||||||
// includes enum conversion as well as invalid types
|
// includes enum conversion as well as invalid types
|
||||||
if (std::optional<qlonglong> l = qConvertToNumber(d))
|
if (std::optional<qlonglong> l = qConvertToNumber(d))
|
||||||
@ -943,9 +934,7 @@ QVariant::QVariant(double val) noexcept : d(std::piecewise_construct_t{}, val) {
|
|||||||
QVariant::QVariant(float val) noexcept : d(std::piecewise_construct_t{}, val) {}
|
QVariant::QVariant(float val) noexcept : d(std::piecewise_construct_t{}, val) {}
|
||||||
|
|
||||||
QVariant::QVariant(const QByteArray &val) noexcept : d(std::piecewise_construct_t{}, val) {}
|
QVariant::QVariant(const QByteArray &val) noexcept : d(std::piecewise_construct_t{}, val) {}
|
||||||
#ifndef QT_BOOTSTRAPPED
|
|
||||||
QVariant::QVariant(const QBitArray &val) noexcept : d(std::piecewise_construct_t{}, val) {}
|
QVariant::QVariant(const QBitArray &val) noexcept : d(std::piecewise_construct_t{}, val) {}
|
||||||
#endif
|
|
||||||
QVariant::QVariant(const QString &val) noexcept : d(std::piecewise_construct_t{}, val) {}
|
QVariant::QVariant(const QString &val) noexcept : d(std::piecewise_construct_t{}, val) {}
|
||||||
QVariant::QVariant(QChar val) noexcept : d(std::piecewise_construct_t{}, val) {}
|
QVariant::QVariant(QChar val) noexcept : d(std::piecewise_construct_t{}, val) {}
|
||||||
QVariant::QVariant(const QStringList &val) noexcept : d(std::piecewise_construct_t{}, val) {}
|
QVariant::QVariant(const QStringList &val) noexcept : d(std::piecewise_construct_t{}, val) {}
|
||||||
@ -981,22 +970,18 @@ QVariant::QVariant(QSize s) noexcept
|
|||||||
QVariant::QVariant(QSizeF s) noexcept(Private::FitsInInternalSize<sizeof(qreal) * 2>)
|
QVariant::QVariant(QSizeF s) noexcept(Private::FitsInInternalSize<sizeof(qreal) * 2>)
|
||||||
: d(std::piecewise_construct_t{}, s) {}
|
: d(std::piecewise_construct_t{}, s) {}
|
||||||
#endif
|
#endif
|
||||||
#ifndef QT_BOOTSTRAPPED
|
|
||||||
QVariant::QVariant(const QUrl &u) noexcept : d(std::piecewise_construct_t{}, u) {}
|
QVariant::QVariant(const QUrl &u) noexcept : d(std::piecewise_construct_t{}, u) {}
|
||||||
#endif
|
|
||||||
QVariant::QVariant(const QLocale &l) noexcept : d(std::piecewise_construct_t{}, l) {}
|
QVariant::QVariant(const QLocale &l) noexcept : d(std::piecewise_construct_t{}, l) {}
|
||||||
#if QT_CONFIG(regularexpression)
|
#if QT_CONFIG(regularexpression)
|
||||||
QVariant::QVariant(const QRegularExpression &re) noexcept : d(std::piecewise_construct_t{}, re) {}
|
QVariant::QVariant(const QRegularExpression &re) noexcept : d(std::piecewise_construct_t{}, re) {}
|
||||||
#endif // QT_CONFIG(regularexpression)
|
#endif // QT_CONFIG(regularexpression)
|
||||||
QVariant::QVariant(QUuid uuid) noexcept(Private::FitsInInternalSize<16>) : d(std::piecewise_construct_t{}, uuid) {}
|
QVariant::QVariant(QUuid uuid) noexcept(Private::FitsInInternalSize<16>) : d(std::piecewise_construct_t{}, uuid) {}
|
||||||
#ifndef QT_BOOTSTRAPPED
|
|
||||||
QVariant::QVariant(const QJsonValue &jsonValue) noexcept(Private::FitsInInternalSize<sizeof(CborValueStandIn)>)
|
QVariant::QVariant(const QJsonValue &jsonValue) noexcept(Private::FitsInInternalSize<sizeof(CborValueStandIn)>)
|
||||||
: d(std::piecewise_construct_t{}, jsonValue)
|
: d(std::piecewise_construct_t{}, jsonValue)
|
||||||
{ static_assert(sizeof(CborValueStandIn) == sizeof(QJsonValue)); }
|
{ static_assert(sizeof(CborValueStandIn) == sizeof(QJsonValue)); }
|
||||||
QVariant::QVariant(const QJsonObject &jsonObject) noexcept : d(std::piecewise_construct_t{}, jsonObject) {}
|
QVariant::QVariant(const QJsonObject &jsonObject) noexcept : d(std::piecewise_construct_t{}, jsonObject) {}
|
||||||
QVariant::QVariant(const QJsonArray &jsonArray) noexcept : d(std::piecewise_construct_t{}, jsonArray) {}
|
QVariant::QVariant(const QJsonArray &jsonArray) noexcept : d(std::piecewise_construct_t{}, jsonArray) {}
|
||||||
QVariant::QVariant(const QJsonDocument &jsonDocument) : d(std::piecewise_construct_t{}, jsonDocument) {}
|
QVariant::QVariant(const QJsonDocument &jsonDocument) : d(std::piecewise_construct_t{}, jsonDocument) {}
|
||||||
#endif // QT_BOOTSTRAPPED
|
|
||||||
#if QT_CONFIG(itemmodel)
|
#if QT_CONFIG(itemmodel)
|
||||||
QVariant::QVariant(const QModelIndex &modelIndex) noexcept(Private::FitsInInternalSize<8 + 2 * sizeof(quintptr)>)
|
QVariant::QVariant(const QModelIndex &modelIndex) noexcept(Private::FitsInInternalSize<8 + 2 * sizeof(quintptr)>)
|
||||||
: d(std::piecewise_construct_t{}, modelIndex) {}
|
: d(std::piecewise_construct_t{}, modelIndex) {}
|
||||||
@ -1690,7 +1675,6 @@ QPointF QVariant::toPointF() const
|
|||||||
|
|
||||||
#endif // QT_NO_GEOM_VARIANT
|
#endif // QT_NO_GEOM_VARIANT
|
||||||
|
|
||||||
#ifndef QT_BOOTSTRAPPED
|
|
||||||
/*!
|
/*!
|
||||||
\fn QUrl QVariant::toUrl() const
|
\fn QUrl QVariant::toUrl() const
|
||||||
|
|
||||||
@ -1703,7 +1687,6 @@ QUrl QVariant::toUrl() const
|
|||||||
{
|
{
|
||||||
return qvariant_cast<QUrl>(*this);
|
return qvariant_cast<QUrl>(*this);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\fn QLocale QVariant::toLocale() const
|
\fn QLocale QVariant::toLocale() const
|
||||||
@ -1776,7 +1759,6 @@ QUuid QVariant::toUuid() const
|
|||||||
return qvariant_cast<QUuid>(*this);
|
return qvariant_cast<QUuid>(*this);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef QT_BOOTSTRAPPED
|
|
||||||
/*!
|
/*!
|
||||||
\since 5.0
|
\since 5.0
|
||||||
|
|
||||||
@ -1828,7 +1810,6 @@ QJsonDocument QVariant::toJsonDocument() const
|
|||||||
{
|
{
|
||||||
return qvariant_cast<QJsonDocument>(*this);
|
return qvariant_cast<QJsonDocument>(*this);
|
||||||
}
|
}
|
||||||
#endif // QT_BOOTSTRAPPED
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\fn QChar QVariant::toChar() const
|
\fn QChar QVariant::toChar() const
|
||||||
@ -1844,7 +1825,6 @@ QChar QVariant::toChar() const
|
|||||||
return qvariant_cast<QChar>(*this);
|
return qvariant_cast<QChar>(*this);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef QT_BOOTSTRAPPED
|
|
||||||
/*!
|
/*!
|
||||||
Returns the variant as a QBitArray if the variant has userType()
|
Returns the variant as a QBitArray if the variant has userType()
|
||||||
\l QMetaType::QBitArray; otherwise returns an empty bit array.
|
\l QMetaType::QBitArray; otherwise returns an empty bit array.
|
||||||
@ -1855,7 +1835,6 @@ QBitArray QVariant::toBitArray() const
|
|||||||
{
|
{
|
||||||
return qvariant_cast<QBitArray>(*this);
|
return qvariant_cast<QBitArray>(*this);
|
||||||
}
|
}
|
||||||
#endif // QT_BOOTSTRAPPED
|
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
inline T qNumVariantToHelper(const QVariant::Private &d, bool *ok)
|
inline T qNumVariantToHelper(const QVariant::Private &d, bool *ok)
|
||||||
@ -2370,7 +2349,6 @@ static QPartialOrdering numericCompare(const QVariant::Private *d1, const QVaria
|
|||||||
return spaceShip(*r1, *r2);
|
return spaceShip(*r1, *r2);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef QT_BOOTSTRAPPED
|
|
||||||
static bool qvCanConvertMetaObject(QMetaType fromType, QMetaType toType)
|
static bool qvCanConvertMetaObject(QMetaType fromType, QMetaType toType)
|
||||||
{
|
{
|
||||||
if ((fromType.flags() & QMetaType::PointerToQObject)
|
if ((fromType.flags() & QMetaType::PointerToQObject)
|
||||||
@ -2386,7 +2364,6 @@ static QPartialOrdering pointerCompare(const QVariant::Private *d1, const QVaria
|
|||||||
{
|
{
|
||||||
return spaceShip<QObject *>(d1->get<QObject *>(), d2->get<QObject *>());
|
return spaceShip<QObject *>(d1->get<QObject *>(), d2->get<QObject *>());
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\internal
|
\internal
|
||||||
@ -2399,11 +2376,9 @@ bool QVariant::equals(const QVariant &v) const
|
|||||||
// try numeric comparisons, with C++ type promotion rules (no conversion)
|
// try numeric comparisons, with C++ type promotion rules (no conversion)
|
||||||
if (canBeNumericallyCompared(metatype.iface(), v.d.type().iface()))
|
if (canBeNumericallyCompared(metatype.iface(), v.d.type().iface()))
|
||||||
return numericCompare(&d, &v.d) == QPartialOrdering::Equivalent;
|
return numericCompare(&d, &v.d) == QPartialOrdering::Equivalent;
|
||||||
#ifndef QT_BOOTSTRAPPED
|
|
||||||
// if both types are related pointers to QObjects, check if they point to the same object
|
// if both types are related pointers to QObjects, check if they point to the same object
|
||||||
if (qvCanConvertMetaObject(metatype, v.metaType()))
|
if (qvCanConvertMetaObject(metatype, v.metaType()))
|
||||||
return pointerCompare(&d, &v.d) == QPartialOrdering::Equivalent;
|
return pointerCompare(&d, &v.d) == QPartialOrdering::Equivalent;
|
||||||
#endif
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2443,10 +2418,8 @@ QPartialOrdering QVariant::compare(const QVariant &lhs, const QVariant &rhs)
|
|||||||
// try numeric comparisons, with C++ type promotion rules (no conversion)
|
// try numeric comparisons, with C++ type promotion rules (no conversion)
|
||||||
if (canBeNumericallyCompared(lhs.d.type().iface(), rhs.d.type().iface()))
|
if (canBeNumericallyCompared(lhs.d.type().iface(), rhs.d.type().iface()))
|
||||||
return numericCompare(&lhs.d, &rhs.d);
|
return numericCompare(&lhs.d, &rhs.d);
|
||||||
#ifndef QT_BOOTSTRAPPED
|
|
||||||
if (qvCanConvertMetaObject(lhs.metaType(), rhs.metaType()))
|
if (qvCanConvertMetaObject(lhs.metaType(), rhs.metaType()))
|
||||||
return pointerCompare(&lhs.d, &rhs.d);
|
return pointerCompare(&lhs.d, &rhs.d);
|
||||||
#endif
|
|
||||||
return QPartialOrdering::Unordered;
|
return QPartialOrdering::Unordered;
|
||||||
}
|
}
|
||||||
return t.compare(lhs.constData(), rhs.constData());
|
return t.compare(lhs.constData(), rhs.constData());
|
||||||
|
@ -264,9 +264,7 @@ public:
|
|||||||
QVariant(QChar qchar) noexcept;
|
QVariant(QChar qchar) noexcept;
|
||||||
QVariant(QDate date) noexcept;
|
QVariant(QDate date) noexcept;
|
||||||
QVariant(QTime time) noexcept;
|
QVariant(QTime time) noexcept;
|
||||||
#ifndef QT_BOOTSTRAPPED
|
|
||||||
QVariant(const QBitArray &bitarray) noexcept;
|
QVariant(const QBitArray &bitarray) noexcept;
|
||||||
#endif
|
|
||||||
QVariant(const QByteArray &bytearray) noexcept;
|
QVariant(const QByteArray &bytearray) noexcept;
|
||||||
QVariant(const QDateTime &datetime) noexcept;
|
QVariant(const QDateTime &datetime) noexcept;
|
||||||
QVariant(const QHash<QString, QVariant> &hash) noexcept;
|
QVariant(const QHash<QString, QVariant> &hash) noexcept;
|
||||||
@ -375,9 +373,7 @@ public:
|
|||||||
float toFloat(bool *ok = nullptr) const;
|
float toFloat(bool *ok = nullptr) const;
|
||||||
qreal toReal(bool *ok = nullptr) const;
|
qreal toReal(bool *ok = nullptr) const;
|
||||||
QByteArray toByteArray() const;
|
QByteArray toByteArray() const;
|
||||||
#ifndef QT_BOOTSTRAPPED
|
|
||||||
QBitArray toBitArray() const;
|
QBitArray toBitArray() const;
|
||||||
#endif
|
|
||||||
QString toString() const;
|
QString toString() const;
|
||||||
QStringList toStringList() const;
|
QStringList toStringList() const;
|
||||||
QChar toChar() const;
|
QChar toChar() const;
|
||||||
@ -406,13 +402,11 @@ public:
|
|||||||
QEasingCurve toEasingCurve() const;
|
QEasingCurve toEasingCurve() const;
|
||||||
#endif
|
#endif
|
||||||
QUuid toUuid() const;
|
QUuid toUuid() const;
|
||||||
#ifndef QT_BOOTSTRAPPED
|
|
||||||
QUrl toUrl() const;
|
QUrl toUrl() const;
|
||||||
QJsonValue toJsonValue() const;
|
QJsonValue toJsonValue() const;
|
||||||
QJsonObject toJsonObject() const;
|
QJsonObject toJsonObject() const;
|
||||||
QJsonArray toJsonArray() const;
|
QJsonArray toJsonArray() const;
|
||||||
QJsonDocument toJsonDocument() const;
|
QJsonDocument toJsonDocument() const;
|
||||||
#endif // QT_BOOTSTRAPPED
|
|
||||||
#if QT_CONFIG(itemmodel)
|
#if QT_CONFIG(itemmodel)
|
||||||
QModelIndex toModelIndex() const;
|
QModelIndex toModelIndex() const;
|
||||||
QPersistentModelIndex toPersistentModelIndex() const;
|
QPersistentModelIndex toPersistentModelIndex() const;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user