Get rid of the private v_cast<>() method
Replace it with QVariant::Private::get<>(). Change-Id: I801742300d9b15f748bb91fcd6cfa176d2057271 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
This commit is contained in:
parent
d1c3f81126
commit
bfbac6be75
@ -124,9 +124,9 @@ static qlonglong qMetaTypeNumber(const QVariant::Private *d)
|
||||
return qRound64(d->data.d);
|
||||
#ifndef QT_BOOTSTRAPPED
|
||||
case QMetaType::QJsonValue:
|
||||
return v_cast<QJsonValue>(d)->toDouble();
|
||||
return d->get<QJsonValue>().toDouble();
|
||||
case QMetaType::QCborValue:
|
||||
return v_cast<QCborValue>(d)->toInteger();
|
||||
return d->get<QCborValue>().toInteger();
|
||||
#endif
|
||||
}
|
||||
Q_ASSERT(false);
|
||||
@ -157,16 +157,16 @@ static qlonglong qConvertToNumber(const QVariant::Private *d, bool *ok, bool all
|
||||
|
||||
switch (uint(d->type().id())) {
|
||||
case QMetaType::QString: {
|
||||
const QString *s = v_cast<QString>(d);
|
||||
qlonglong l = s->toLongLong(ok);
|
||||
const QString &s = d->get<QString>();
|
||||
qlonglong l = s.toLongLong(ok);
|
||||
if (*ok)
|
||||
return l;
|
||||
if (allowStringToBool) {
|
||||
if (*s == QLatin1String("false") || *s == QLatin1String("0")) {
|
||||
if (s == QLatin1String("false") || s == QLatin1String("0")) {
|
||||
*ok = true;
|
||||
return 0;
|
||||
}
|
||||
if (*s == QLatin1String("true") || *s == QLatin1String("1")) {
|
||||
if (s == QLatin1String("true") || s == QLatin1String("1")) {
|
||||
*ok = true;
|
||||
return 1;
|
||||
}
|
||||
@ -174,18 +174,18 @@ static qlonglong qConvertToNumber(const QVariant::Private *d, bool *ok, bool all
|
||||
return 0;
|
||||
}
|
||||
case QMetaType::QChar:
|
||||
return v_cast<QChar>(d)->unicode();
|
||||
return d->get<QChar>().unicode();
|
||||
case QMetaType::QByteArray:
|
||||
return v_cast<QByteArray>(d)->toLongLong(ok);
|
||||
return d->get<QByteArray>().toLongLong(ok);
|
||||
case QMetaType::Bool:
|
||||
return qlonglong(d->data.b);
|
||||
#ifndef QT_BOOTSTRAPPED
|
||||
case QMetaType::QCborValue:
|
||||
if (!v_cast<QCborValue>(d)->isInteger() && !v_cast<QCborValue>(d)->isDouble())
|
||||
if (!d->get<QCborValue>().isInteger() && !d->get<QCborValue>().isDouble())
|
||||
break;
|
||||
return qMetaTypeNumber(d);
|
||||
case QMetaType::QJsonValue:
|
||||
if (!v_cast<QJsonValue>(d)->isDouble())
|
||||
if (!d->get<QJsonValue>().isDouble())
|
||||
break;
|
||||
Q_FALLTHROUGH();
|
||||
#endif
|
||||
@ -231,7 +231,7 @@ static qreal qConvertToRealNumber(const QVariant::Private *d, bool *ok)
|
||||
*ok = true;
|
||||
switch (uint(d->type().id())) {
|
||||
case QMetaType::QString:
|
||||
return v_cast<QString>(d)->toDouble(ok);
|
||||
return d->get<QString>().toDouble(ok);
|
||||
case QMetaType::Double:
|
||||
return qreal(d->data.d);
|
||||
case QMetaType::Float:
|
||||
@ -244,9 +244,9 @@ static qreal qConvertToRealNumber(const QVariant::Private *d, bool *ok)
|
||||
return qreal(qMetaTypeUNumber(d));
|
||||
#ifndef QT_BOOTSTRAPPED
|
||||
case QMetaType::QCborValue:
|
||||
return v_cast<QCborValue>(d)->toDouble();
|
||||
return d->get<QCborValue>().toDouble();
|
||||
case QMetaType::QJsonValue:
|
||||
return v_cast<QJsonValue>(d)->toDouble();
|
||||
return d->get<QJsonValue>().toDouble();
|
||||
#endif
|
||||
default:
|
||||
// includes enum conversion as well as invalid types
|
||||
@ -260,22 +260,22 @@ static qulonglong qConvertToUnsignedNumber(const QVariant::Private *d, bool *ok)
|
||||
|
||||
switch (uint(d->type().id())) {
|
||||
case QMetaType::QString:
|
||||
return v_cast<QString>(d)->toULongLong(ok);
|
||||
return d->get<QString>().toULongLong(ok);
|
||||
case QMetaType::QChar:
|
||||
return v_cast<QChar>(d)->unicode();
|
||||
return d->get<QChar>().unicode();
|
||||
case QMetaType::QByteArray:
|
||||
return v_cast<QByteArray>(d)->toULongLong(ok);
|
||||
return d->get<QByteArray>().toULongLong(ok);
|
||||
case QMetaType::Bool:
|
||||
return qulonglong(d->data.b);
|
||||
#ifndef QT_BOOTSTRAPPED
|
||||
case QMetaType::QCborValue:
|
||||
if (v_cast<QCborValue>(d)->isDouble())
|
||||
if (d->get<QCborValue>().isDouble())
|
||||
return qulonglong(qConvertToRealNumber(d, ok));
|
||||
if (!v_cast<QCborValue>(d)->isInteger())
|
||||
if (!d->get<QCborValue>().isInteger())
|
||||
return false;
|
||||
return qulonglong(qMetaTypeNumber(d));
|
||||
case QMetaType::QJsonValue:
|
||||
if (!v_cast<QJsonValue>(d)->isDouble())
|
||||
if (!d->get<QJsonValue>().isDouble())
|
||||
break;
|
||||
Q_FALLTHROUGH();
|
||||
#endif
|
||||
@ -317,7 +317,7 @@ static qulonglong qConvertToUnsignedNumber(const QVariant::Private *d, bool *ok)
|
||||
template<typename TInput, typename LiteralWrapper>
|
||||
inline bool qt_convertToBool(const QVariant::Private *const d)
|
||||
{
|
||||
TInput str = v_cast<TInput>(d)->toLower();
|
||||
TInput str = d->get<TInput>().toLower();
|
||||
return !(str.isEmpty() || str == LiteralWrapper("0") || str == LiteralWrapper("false"));
|
||||
}
|
||||
|
||||
@ -372,11 +372,11 @@ static bool convert(const QVariant::Private *d, int t, void *result)
|
||||
case QMetaType::QUrl:
|
||||
switch (d->type().id()) {
|
||||
case QMetaType::QString:
|
||||
*static_cast<QUrl *>(result) = QUrl(*v_cast<QString>(d));
|
||||
*static_cast<QUrl *>(result) = QUrl(d->get<QString>());
|
||||
break;
|
||||
case QMetaType::QCborValue:
|
||||
if (v_cast<QCborValue>(d)->isUrl()) {
|
||||
*static_cast<QUrl *>(result) = v_cast<QCborValue>(d)->toUrl();
|
||||
if (d->get<QCborValue>().isUrl()) {
|
||||
*static_cast<QUrl *>(result) = d->get<QCborValue>().toUrl();
|
||||
break;
|
||||
}
|
||||
return false;
|
||||
@ -389,7 +389,7 @@ static bool convert(const QVariant::Private *d, int t, void *result)
|
||||
case QMetaType::QModelIndex:
|
||||
switch (d->type().id()) {
|
||||
case QMetaType::QPersistentModelIndex:
|
||||
*static_cast<QModelIndex *>(result) = QModelIndex(*v_cast<QPersistentModelIndex>(d));
|
||||
*static_cast<QModelIndex *>(result) = QModelIndex(d->get<QPersistentModelIndex>());
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
@ -398,7 +398,7 @@ static bool convert(const QVariant::Private *d, int t, void *result)
|
||||
case QMetaType::QPersistentModelIndex:
|
||||
switch (d->type().id()) {
|
||||
case QMetaType::QModelIndex:
|
||||
*static_cast<QPersistentModelIndex *>(result) = QPersistentModelIndex(*v_cast<QModelIndex>(d));
|
||||
*static_cast<QPersistentModelIndex *>(result) = QPersistentModelIndex(d->get<QModelIndex>());
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
@ -409,7 +409,7 @@ static bool convert(const QVariant::Private *d, int t, void *result)
|
||||
QString *str = static_cast<QString *>(result);
|
||||
switch (d->type().id()) {
|
||||
case QMetaType::QChar:
|
||||
*str = *v_cast<QChar>(d);
|
||||
*str = d->get<QChar>();
|
||||
break;
|
||||
case QMetaType::Char:
|
||||
case QMetaType::SChar:
|
||||
@ -436,43 +436,43 @@ static bool convert(const QVariant::Private *d, int t, void *result)
|
||||
break;
|
||||
#if QT_CONFIG(datestring)
|
||||
case QMetaType::QDate:
|
||||
*str = v_cast<QDate>(d)->toString(Qt::ISODate);
|
||||
*str = d->get<QDate>().toString(Qt::ISODate);
|
||||
break;
|
||||
case QMetaType::QTime:
|
||||
*str = v_cast<QTime>(d)->toString(Qt::ISODateWithMs);
|
||||
*str = d->get<QTime>().toString(Qt::ISODateWithMs);
|
||||
break;
|
||||
case QMetaType::QDateTime:
|
||||
*str = v_cast<QDateTime>(d)->toString(Qt::ISODateWithMs);
|
||||
*str = d->get<QDateTime>().toString(Qt::ISODateWithMs);
|
||||
break;
|
||||
#endif
|
||||
case QMetaType::Bool:
|
||||
*str = d->data.b ? QStringLiteral("true") : QStringLiteral("false");
|
||||
break;
|
||||
case QMetaType::QByteArray:
|
||||
*str = QString::fromUtf8(v_cast<QByteArray>(d)->constData());
|
||||
*str = QString::fromUtf8(d->get<QByteArray>().constData());
|
||||
break;
|
||||
case QMetaType::QStringList:
|
||||
if (v_cast<QStringList>(d)->count() == 1)
|
||||
*str = v_cast<QStringList>(d)->at(0);
|
||||
if (d->get<QStringList>().count() == 1)
|
||||
*str = d->get<QStringList>().at(0);
|
||||
break;
|
||||
#ifndef QT_BOOTSTRAPPED
|
||||
case QMetaType::QUrl:
|
||||
*str = v_cast<QUrl>(d)->toString();
|
||||
*str = d->get<QUrl>().toString();
|
||||
break;
|
||||
case QMetaType::QJsonValue:
|
||||
if (v_cast<QJsonValue>(d)->isString())
|
||||
*str = v_cast<QJsonValue>(d)->toString();
|
||||
else if (!v_cast<QJsonValue>(d)->isNull())
|
||||
if (d->get<QJsonValue>().isString())
|
||||
*str = d->get<QJsonValue>().toString();
|
||||
else if (!d->get<QJsonValue>().isNull())
|
||||
return false;
|
||||
break;
|
||||
case QMetaType::QCborValue:
|
||||
if (v_cast<QCborValue>(d)->isContainer() || v_cast<QCborValue>(d)->isTag())
|
||||
if (d->get<QCborValue>().isContainer() || d->get<QCborValue>().isTag())
|
||||
return false;
|
||||
*str = v_cast<QCborValue>(d)->toVariant().toString();
|
||||
*str = d->get<QCborValue>().toVariant().toString();
|
||||
break;
|
||||
#endif
|
||||
case QMetaType::QUuid:
|
||||
*str = v_cast<QUuid>(d)->toString();
|
||||
*str = d->get<QUuid>().toString();
|
||||
break;
|
||||
case QMetaType::Nullptr:
|
||||
*str = QString();
|
||||
@ -520,7 +520,7 @@ static bool convert(const QVariant::Private *d, int t, void *result)
|
||||
QSize *s = static_cast<QSize *>(result);
|
||||
switch (d->type().id()) {
|
||||
case QMetaType::QSizeF:
|
||||
*s = v_cast<QSizeF>(d)->toSize();
|
||||
*s = d->get<QSizeF>().toSize();
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
@ -532,7 +532,7 @@ static bool convert(const QVariant::Private *d, int t, void *result)
|
||||
QSizeF *s = static_cast<QSizeF *>(result);
|
||||
switch (d->type().id()) {
|
||||
case QMetaType::QSize:
|
||||
*s = QSizeF(*(v_cast<QSize>(d)));
|
||||
*s = QSizeF(d->get<QSize>());
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
@ -544,7 +544,7 @@ static bool convert(const QVariant::Private *d, int t, void *result)
|
||||
QLine *s = static_cast<QLine *>(result);
|
||||
switch (d->type().id()) {
|
||||
case QMetaType::QLineF:
|
||||
*s = v_cast<QLineF>(d)->toLine();
|
||||
*s = d->get<QLineF>().toLine();
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
@ -556,7 +556,7 @@ static bool convert(const QVariant::Private *d, int t, void *result)
|
||||
QLineF *s = static_cast<QLineF *>(result);
|
||||
switch (d->type().id()) {
|
||||
case QMetaType::QLine:
|
||||
*s = QLineF(*(v_cast<QLine>(d)));
|
||||
*s = QLineF(d->get<QLine>());
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
@ -567,14 +567,14 @@ static bool convert(const QVariant::Private *d, int t, void *result)
|
||||
case QMetaType::QStringList:
|
||||
if (d->type().id() == QMetaType::QVariantList) {
|
||||
QStringList *slst = static_cast<QStringList *>(result);
|
||||
const QVariantList *list = v_cast<QVariantList >(d);
|
||||
const int size = list->size();
|
||||
const QVariantList &list = d->get<QVariantList >();
|
||||
const int size = list.size();
|
||||
slst->reserve(size);
|
||||
for (int i = 0; i < size; ++i)
|
||||
slst->append(list->at(i).toString());
|
||||
slst->append(list.at(i).toString());
|
||||
} else if (d->type().id() == QMetaType::QString) {
|
||||
QStringList *slst = static_cast<QStringList *>(result);
|
||||
*slst = QStringList(*v_cast<QString>(d));
|
||||
*slst = QStringList(d->get<QString>());
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
@ -582,10 +582,10 @@ static bool convert(const QVariant::Private *d, int t, void *result)
|
||||
case QMetaType::QDate: {
|
||||
QDate *dt = static_cast<QDate *>(result);
|
||||
if (d->type().id() == QMetaType::QDateTime)
|
||||
*dt = v_cast<QDateTime>(d)->date();
|
||||
*dt = d->get<QDateTime>().date();
|
||||
#if QT_CONFIG(datestring)
|
||||
else if (d->type().id() == QMetaType::QString)
|
||||
*dt = QDate::fromString(*v_cast<QString>(d), Qt::ISODate);
|
||||
*dt = QDate::fromString(d->get<QString>(), Qt::ISODate);
|
||||
#endif
|
||||
else
|
||||
return false;
|
||||
@ -596,11 +596,11 @@ static bool convert(const QVariant::Private *d, int t, void *result)
|
||||
QTime *t = static_cast<QTime *>(result);
|
||||
switch (d->type().id()) {
|
||||
case QMetaType::QDateTime:
|
||||
*t = v_cast<QDateTime>(d)->time();
|
||||
*t = d->get<QDateTime>().time();
|
||||
break;
|
||||
#if QT_CONFIG(datestring)
|
||||
case QMetaType::QString:
|
||||
*t = QTime::fromString(*v_cast<QString>(d), Qt::ISODate);
|
||||
*t = QTime::fromString(d->get<QString>(), Qt::ISODate);
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
@ -613,19 +613,19 @@ static bool convert(const QVariant::Private *d, int t, void *result)
|
||||
switch (d->type().id()) {
|
||||
#if QT_CONFIG(datestring)
|
||||
case QMetaType::QString:
|
||||
*dt = QDateTime::fromString(*v_cast<QString>(d), Qt::ISODate);
|
||||
*dt = QDateTime::fromString(d->get<QString>(), Qt::ISODate);
|
||||
break;
|
||||
# ifndef QT_BOOTSTRAPPED
|
||||
case QMetaType::QCborValue:
|
||||
if (v_cast<QCborValue>(d)->isDateTime())
|
||||
*dt = v_cast<QCborValue>(d)->toDateTime();
|
||||
if (d->get<QCborValue>().isDateTime())
|
||||
*dt = d->get<QCborValue>().toDateTime();
|
||||
else
|
||||
return false;
|
||||
break;
|
||||
# endif
|
||||
#endif
|
||||
case QMetaType::QDate:
|
||||
*dt = v_cast<QDate>(d)->startOfDay();
|
||||
*dt = d->get<QDate>().startOfDay();
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
@ -636,7 +636,7 @@ static bool convert(const QVariant::Private *d, int t, void *result)
|
||||
QByteArray *ba = static_cast<QByteArray *>(result);
|
||||
switch (d->type().id()) {
|
||||
case QMetaType::QString:
|
||||
*ba = v_cast<QString>(d)->toUtf8();
|
||||
*ba = d->get<QString>().toUtf8();
|
||||
break;
|
||||
case QMetaType::Double:
|
||||
*ba = QByteArray::number(d->data.d, 'g', QLocale::FloatingPointShortest);
|
||||
@ -665,15 +665,15 @@ static bool convert(const QVariant::Private *d, int t, void *result)
|
||||
*ba = QByteArray(d->data.b ? "true" : "false");
|
||||
break;
|
||||
case QMetaType::QUuid:
|
||||
*ba = v_cast<QUuid>(d)->toByteArray();
|
||||
*ba = d->get<QUuid>().toByteArray();
|
||||
break;
|
||||
case QMetaType::Nullptr:
|
||||
*ba = QByteArray();
|
||||
break;
|
||||
#ifndef QT_BOOTSTRAPPED
|
||||
case QMetaType::QCborValue:
|
||||
if (v_cast<QCborValue>(d)->isByteArray())
|
||||
*ba = v_cast<QCborValue>(d)->toByteArray();
|
||||
if (d->get<QCborValue>().isByteArray())
|
||||
*ba = d->get<QCborValue>().toByteArray();
|
||||
else
|
||||
return false;
|
||||
break;
|
||||
@ -736,7 +736,7 @@ static bool convert(const QVariant::Private *d, int t, void *result)
|
||||
*b = qt_convertToBool<QString, QLatin1String>(d);
|
||||
break;
|
||||
case QMetaType::QChar:
|
||||
*b = !v_cast<QChar>(d)->isNull();
|
||||
*b = !d->get<QChar>().isNull();
|
||||
break;
|
||||
case QMetaType::Double:
|
||||
case QMetaType::Int:
|
||||
@ -757,13 +757,13 @@ static bool convert(const QVariant::Private *d, int t, void *result)
|
||||
break;
|
||||
#ifndef QT_BOOTSTRAPPED
|
||||
case QMetaType::QCborValue:
|
||||
*b = v_cast<QCborValue>(d)->toBool();
|
||||
if (!v_cast<QCborValue>(d)->isBool())
|
||||
*b = d->get<QCborValue>().toBool();
|
||||
if (!d->get<QCborValue>().isBool())
|
||||
return false;
|
||||
break;
|
||||
case QMetaType::QJsonValue:
|
||||
*b = v_cast<QJsonValue>(d)->toBool(false);
|
||||
if (!v_cast<QJsonValue>(d)->isBool())
|
||||
*b = d->get<QJsonValue>().toBool(false);
|
||||
if (!d->get<QJsonValue>().isBool())
|
||||
return false;
|
||||
break;
|
||||
#endif
|
||||
@ -777,10 +777,10 @@ static bool convert(const QVariant::Private *d, int t, void *result)
|
||||
double *f = static_cast<double *>(result);
|
||||
switch (d->type().id()) {
|
||||
case QMetaType::QString:
|
||||
*f = v_cast<QString>(d)->toDouble(&ok);
|
||||
*f = d->get<QString>().toDouble(&ok);
|
||||
return ok;
|
||||
case QMetaType::QByteArray:
|
||||
*f = v_cast<QByteArray>(d)->toDouble(&ok);
|
||||
*f = d->get<QByteArray>().toDouble(&ok);
|
||||
return ok;
|
||||
case QMetaType::Bool:
|
||||
*f = double(d->data.b);
|
||||
@ -805,13 +805,13 @@ static bool convert(const QVariant::Private *d, int t, void *result)
|
||||
break;
|
||||
#ifndef QT_BOOTSTRAPPED
|
||||
case QMetaType::QCborValue:
|
||||
*f = v_cast<QCborValue>(d)->toDouble();
|
||||
if (!v_cast<QCborValue>(d)->isDouble())
|
||||
*f = d->get<QCborValue>().toDouble();
|
||||
if (!d->get<QCborValue>().isDouble())
|
||||
return false;
|
||||
break;
|
||||
case QMetaType::QJsonValue:
|
||||
*f = v_cast<QJsonValue>(d)->toDouble(0.0);
|
||||
if (!v_cast<QJsonValue>(d)->isDouble())
|
||||
*f = d->get<QJsonValue>().toDouble(0.0);
|
||||
if (!d->get<QJsonValue>().isDouble())
|
||||
return false;
|
||||
break;
|
||||
#endif
|
||||
@ -825,10 +825,10 @@ static bool convert(const QVariant::Private *d, int t, void *result)
|
||||
float *f = static_cast<float *>(result);
|
||||
switch (d->type().id()) {
|
||||
case QMetaType::QString:
|
||||
*f = v_cast<QString>(d)->toFloat(&ok);
|
||||
*f = d->get<QString>().toFloat(&ok);
|
||||
return ok;
|
||||
case QMetaType::QByteArray:
|
||||
*f = v_cast<QByteArray>(d)->toFloat(&ok);
|
||||
*f = d->get<QByteArray>().toFloat(&ok);
|
||||
return ok;
|
||||
case QMetaType::Bool:
|
||||
*f = float(d->data.b);
|
||||
@ -853,13 +853,13 @@ static bool convert(const QVariant::Private *d, int t, void *result)
|
||||
break;
|
||||
#ifndef QT_BOOTSTRAPPED
|
||||
case QMetaType::QCborValue:
|
||||
*f = v_cast<QCborValue>(d)->toDouble();
|
||||
if (!v_cast<QCborValue>(d)->isDouble())
|
||||
*f = d->get<QCborValue>().toDouble();
|
||||
if (!d->get<QCborValue>().isDouble())
|
||||
return false;
|
||||
break;
|
||||
case QMetaType::QJsonValue:
|
||||
*f = v_cast<QJsonValue>(d)->toDouble(0.0);
|
||||
if (!v_cast<QJsonValue>(d)->isDouble())
|
||||
*f = d->get<QJsonValue>().toDouble(0.0);
|
||||
if (!d->get<QJsonValue>().isDouble())
|
||||
return false;
|
||||
break;
|
||||
#endif
|
||||
@ -872,24 +872,24 @@ static bool convert(const QVariant::Private *d, int t, void *result)
|
||||
case QMetaType::QVariantList:
|
||||
if (d->type().id() == QMetaType::QStringList) {
|
||||
QVariantList *lst = static_cast<QVariantList *>(result);
|
||||
const QStringList *slist = v_cast<QStringList>(d);
|
||||
const int size = slist->size();
|
||||
const QStringList &slist = d->get<QStringList>();
|
||||
const int size = slist.size();
|
||||
lst->reserve(size);
|
||||
for (int i = 0; i < size; ++i)
|
||||
lst->append(QVariant(slist->at(i)));
|
||||
lst->append(QVariant(slist.at(i)));
|
||||
#ifndef QT_BOOTSTRAPPED
|
||||
} else if (d->type().id() == QMetaType::QCborValue) {
|
||||
if (!v_cast<QCborValue>(d)->isArray())
|
||||
if (!d->get<QCborValue>().isArray())
|
||||
return false;
|
||||
*static_cast<QVariantList *>(result) = v_cast<QCborValue>(d)->toArray().toVariantList();
|
||||
*static_cast<QVariantList *>(result) = d->get<QCborValue>().toArray().toVariantList();
|
||||
} else if (d->type().id() == QMetaType::QCborArray) {
|
||||
*static_cast<QVariantList *>(result) = v_cast<QCborArray>(d)->toVariantList();
|
||||
*static_cast<QVariantList *>(result) = d->get<QCborArray>().toVariantList();
|
||||
} else if (d->type().id() == QMetaType::QJsonValue) {
|
||||
if (!v_cast<QJsonValue>(d)->isArray())
|
||||
if (!d->get<QJsonValue>().isArray())
|
||||
return false;
|
||||
*static_cast<QVariantList *>(result) = v_cast<QJsonValue>(d)->toArray().toVariantList();
|
||||
*static_cast<QVariantList *>(result) = d->get<QJsonValue>().toArray().toVariantList();
|
||||
} else if (d->type().id() == QMetaType::QJsonArray) {
|
||||
*static_cast<QVariantList *>(result) = v_cast<QJsonArray>(d)->toVariantList();
|
||||
*static_cast<QVariantList *>(result) = d->get<QJsonArray>().toVariantList();
|
||||
#endif
|
||||
} else {
|
||||
return false;
|
||||
@ -898,23 +898,23 @@ static bool convert(const QVariant::Private *d, int t, void *result)
|
||||
case QMetaType::QVariantMap:
|
||||
if (d->type().id() == QMetaType::QVariantHash) {
|
||||
QVariantMap *map = static_cast<QVariantMap *>(result);
|
||||
const QVariantHash *hash = v_cast<QVariantHash>(d);
|
||||
const auto end = hash->end();
|
||||
for (auto it = hash->begin(); it != end; ++it)
|
||||
const QVariantHash &hash = d->get<QVariantHash>();
|
||||
const auto end = hash.end();
|
||||
for (auto it = hash.begin(); it != end; ++it)
|
||||
map->insert(it.key(), it.value());
|
||||
#ifndef QT_BOOTSTRAPPED
|
||||
} else if (d->type().id() == QMetaType::QCborValue) {
|
||||
if (!v_cast<QCborValue>(d)->isMap())
|
||||
if (!d->get<QCborValue>().isMap())
|
||||
return false;
|
||||
*static_cast<QVariantMap *>(result) = v_cast<QCborValue>(d)->toMap().toVariantMap();
|
||||
*static_cast<QVariantMap *>(result) = d->get<QCborValue>().toMap().toVariantMap();
|
||||
} else if (d->type().id() == QMetaType::QCborMap) {
|
||||
*static_cast<QVariantMap *>(result) = v_cast<QCborMap>(d)->toVariantMap();
|
||||
*static_cast<QVariantMap *>(result) = d->get<QCborMap>().toVariantMap();
|
||||
} else if (d->type().id() == QMetaType::QJsonValue) {
|
||||
if (!v_cast<QJsonValue>(d)->isObject())
|
||||
if (!d->get<QJsonValue>().isObject())
|
||||
return false;
|
||||
*static_cast<QVariantMap *>(result) = v_cast<QJsonValue>(d)->toObject().toVariantMap();
|
||||
*static_cast<QVariantMap *>(result) = d->get<QJsonValue>().toObject().toVariantMap();
|
||||
} else if (d->type().id() == QMetaType::QJsonObject) {
|
||||
*static_cast<QVariantMap *>(result) = v_cast<QJsonObject>(d)->toVariantMap();
|
||||
*static_cast<QVariantMap *>(result) = d->get<QJsonObject>().toVariantMap();
|
||||
#endif
|
||||
} else {
|
||||
return false;
|
||||
@ -923,23 +923,23 @@ static bool convert(const QVariant::Private *d, int t, void *result)
|
||||
case QMetaType::QVariantHash:
|
||||
if (d->type().id() == QMetaType::QVariantMap) {
|
||||
QVariantHash *hash = static_cast<QVariantHash *>(result);
|
||||
const QVariantMap *map = v_cast<QVariantMap>(d);
|
||||
const auto end = map->end();
|
||||
for (auto it = map->begin(); it != end; ++it)
|
||||
const QVariantMap &map = d->get<QVariantMap>();
|
||||
const auto end = map.end();
|
||||
for (auto it = map.begin(); it != end; ++it)
|
||||
hash->insert(it.key(), it.value());
|
||||
#ifndef QT_BOOTSTRAPPED
|
||||
} else if (d->type().id() == QMetaType::QCborValue) {
|
||||
if (!v_cast<QCborValue>(d)->isMap())
|
||||
if (!d->get<QCborValue>().isMap())
|
||||
return false;
|
||||
*static_cast<QVariantHash *>(result) = v_cast<QCborValue>(d)->toMap().toVariantHash();
|
||||
*static_cast<QVariantHash *>(result) = d->get<QCborValue>().toMap().toVariantHash();
|
||||
} else if (d->type().id() == QMetaType::QCborMap) {
|
||||
*static_cast<QVariantHash *>(result) = v_cast<QCborMap>(d)->toVariantHash();
|
||||
*static_cast<QVariantHash *>(result) = d->get<QCborMap>().toVariantHash();
|
||||
} else if (d->type().id() == QMetaType::QJsonValue) {
|
||||
if (!v_cast<QJsonValue>(d)->isObject())
|
||||
if (!d->get<QJsonValue>().isObject())
|
||||
return false;
|
||||
*static_cast<QVariantHash *>(result) = v_cast<QJsonValue>(d)->toObject().toVariantHash();
|
||||
*static_cast<QVariantHash *>(result) = d->get<QJsonValue>().toObject().toVariantHash();
|
||||
} else if (d->type().id() == QMetaType::QJsonObject) {
|
||||
*static_cast<QVariantHash *>(result) = v_cast<QJsonObject>(d)->toVariantHash();
|
||||
*static_cast<QVariantHash *>(result) = d->get<QJsonObject>().toVariantHash();
|
||||
#endif
|
||||
} else {
|
||||
return false;
|
||||
@ -948,25 +948,25 @@ static bool convert(const QVariant::Private *d, int t, void *result)
|
||||
#ifndef QT_NO_GEOM_VARIANT
|
||||
case QMetaType::QRect:
|
||||
if (d->type().id() == QMetaType::QRectF)
|
||||
*static_cast<QRect *>(result) = (v_cast<QRectF>(d))->toRect();
|
||||
*static_cast<QRect *>(result) = d->get<QRectF>().toRect();
|
||||
else
|
||||
return false;
|
||||
break;
|
||||
case QMetaType::QRectF:
|
||||
if (d->type().id() == QMetaType::QRect)
|
||||
*static_cast<QRectF *>(result) = *v_cast<QRect>(d);
|
||||
*static_cast<QRectF *>(result) = d->get<QRect>();
|
||||
else
|
||||
return false;
|
||||
break;
|
||||
case QMetaType::QPointF:
|
||||
if (d->type().id() == QMetaType::QPoint)
|
||||
*static_cast<QPointF *>(result) = *v_cast<QPoint>(d);
|
||||
*static_cast<QPointF *>(result) = d->get<QPoint>();
|
||||
else
|
||||
return false;
|
||||
break;
|
||||
case QMetaType::QPoint:
|
||||
if (d->type().id() == QMetaType::QPointF)
|
||||
*static_cast<QPoint *>(result) = (v_cast<QPointF>(d))->toPoint();
|
||||
*static_cast<QPoint *>(result) = d->get<QPointF>().toPoint();
|
||||
else
|
||||
return false;
|
||||
break;
|
||||
@ -979,16 +979,16 @@ static bool convert(const QVariant::Private *d, int t, void *result)
|
||||
case QMetaType::QUuid:
|
||||
switch (d->type().id()) {
|
||||
case QMetaType::QString:
|
||||
*static_cast<QUuid *>(result) = QUuid(*v_cast<QString>(d));
|
||||
*static_cast<QUuid *>(result) = QUuid(d->get<QString>());
|
||||
break;
|
||||
case QMetaType::QByteArray:
|
||||
*static_cast<QUuid *>(result) = QUuid(*v_cast<QByteArray>(d));
|
||||
*static_cast<QUuid *>(result) = QUuid(d->get<QByteArray>());
|
||||
break;
|
||||
#ifndef QT_BOOTSTRAPPED
|
||||
case QMetaType::QCborValue:
|
||||
if (!v_cast<QCborValue>(d)->isUuid())
|
||||
if (!d->get<QCborValue>().isUuid())
|
||||
return false;
|
||||
*static_cast<QUuid *>(result) = v_cast<QCborValue>(d)->toUuid();
|
||||
*static_cast<QUuid *>(result) = d->get<QCborValue>().toUuid();
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
@ -999,11 +999,11 @@ static bool convert(const QVariant::Private *d, int t, void *result)
|
||||
*static_cast<std::nullptr_t *>(result) = nullptr;
|
||||
if (QMetaType::typeFlags(t) & (QMetaType::PointerToGadget | QMetaType::PointerToQObject)
|
||||
|| d->type().id() == QMetaType::VoidStar) {
|
||||
if (v_cast<const void *>(d) == nullptr)
|
||||
if (d->get<const void *>() == nullptr)
|
||||
break;
|
||||
}
|
||||
#ifndef QT_BOOTSTRAPPED
|
||||
if (d->type().id() == QMetaType::QCborValue && v_cast<QCborValue>(d)->isNull())
|
||||
if (d->type().id() == QMetaType::QCborValue && d->get<QCborValue>().isNull())
|
||||
break;
|
||||
#endif
|
||||
return false;
|
||||
@ -1012,9 +1012,9 @@ static bool convert(const QVariant::Private *d, int t, void *result)
|
||||
#if QT_CONFIG(regularexpression)
|
||||
case QMetaType::QRegularExpression:
|
||||
if (d->type().id() != QMetaType::QCborValue
|
||||
|| !v_cast<QCborValue>(d)->isRegularExpression())
|
||||
|| !d->get<QCborValue>().isRegularExpression())
|
||||
return false;
|
||||
*static_cast<QRegularExpression *>(result) = v_cast<QCborValue>(d)->toRegularExpression();
|
||||
*static_cast<QRegularExpression *>(result) = d->get<QCborValue>().toRegularExpression();
|
||||
break;
|
||||
#endif
|
||||
case QMetaType::QJsonValue:
|
||||
@ -1042,39 +1042,39 @@ static bool convert(const QVariant::Private *d, int t, void *result)
|
||||
Q_ASSERT(ok);
|
||||
break;
|
||||
case QMetaType::QString:
|
||||
*static_cast<QJsonValue *>(result) = QJsonValue(*v_cast<QString>(d));
|
||||
*static_cast<QJsonValue *>(result) = QJsonValue(d->get<QString>());
|
||||
break;
|
||||
case QMetaType::QStringList:
|
||||
*static_cast<QJsonValue *>(result) = QJsonValue(QJsonArray::fromStringList(*v_cast<QStringList>(d)));
|
||||
*static_cast<QJsonValue *>(result) = QJsonValue(QJsonArray::fromStringList(d->get<QStringList>()));
|
||||
break;
|
||||
case QMetaType::QVariantList:
|
||||
*static_cast<QJsonValue *>(result) = QJsonValue(QJsonArray::fromVariantList(*v_cast<QVariantList>(d)));
|
||||
*static_cast<QJsonValue *>(result) = QJsonValue(QJsonArray::fromVariantList(d->get<QVariantList>()));
|
||||
break;
|
||||
case QMetaType::QVariantMap:
|
||||
*static_cast<QJsonValue *>(result) = QJsonValue(QJsonObject::fromVariantMap(*v_cast<QVariantMap>(d)));
|
||||
*static_cast<QJsonValue *>(result) = QJsonValue(QJsonObject::fromVariantMap(d->get<QVariantMap>()));
|
||||
break;
|
||||
case QMetaType::QVariantHash:
|
||||
*static_cast<QJsonValue *>(result) = QJsonValue(QJsonObject::fromVariantHash(*v_cast<QVariantHash>(d)));
|
||||
*static_cast<QJsonValue *>(result) = QJsonValue(QJsonObject::fromVariantHash(d->get<QVariantHash>()));
|
||||
break;
|
||||
case QMetaType::QJsonObject:
|
||||
*static_cast<QJsonValue *>(result) = *v_cast<QJsonObject>(d);
|
||||
*static_cast<QJsonValue *>(result) = d->get<QJsonObject>();
|
||||
break;
|
||||
case QMetaType::QJsonArray:
|
||||
*static_cast<QJsonValue *>(result) = *v_cast<QJsonArray>(d);
|
||||
*static_cast<QJsonValue *>(result) = d->get<QJsonArray>();
|
||||
break;
|
||||
case QMetaType::QJsonDocument: {
|
||||
QJsonDocument doc = *v_cast<QJsonDocument>(d);
|
||||
QJsonDocument doc = d->get<QJsonDocument>();
|
||||
*static_cast<QJsonValue *>(result) = doc.isArray() ? QJsonValue(doc.array()) : QJsonValue(doc.object());
|
||||
break;
|
||||
}
|
||||
case QMetaType::QCborValue:
|
||||
*static_cast<QJsonValue *>(result) = v_cast<QCborValue>(d)->toJsonValue();
|
||||
*static_cast<QJsonValue *>(result) = d->get<QCborValue>().toJsonValue();
|
||||
break;
|
||||
case QMetaType::QCborMap:
|
||||
*static_cast<QJsonValue *>(result) = v_cast<QCborMap>(d)->toJsonObject();
|
||||
*static_cast<QJsonValue *>(result) = d->get<QCborMap>().toJsonObject();
|
||||
break;
|
||||
case QMetaType::QCborArray:
|
||||
*static_cast<QJsonValue *>(result) = v_cast<QCborArray>(d)->toJsonArray();
|
||||
*static_cast<QJsonValue *>(result) = d->get<QCborArray>().toJsonArray();
|
||||
break;
|
||||
default:
|
||||
*static_cast<QJsonValue *>(result) = QJsonValue(QJsonValue::Undefined);
|
||||
@ -1084,28 +1084,28 @@ static bool convert(const QVariant::Private *d, int t, void *result)
|
||||
case QMetaType::QJsonArray:
|
||||
switch (d->type().id()) {
|
||||
case QMetaType::QStringList:
|
||||
*static_cast<QJsonArray *>(result) = QJsonArray::fromStringList(*v_cast<QStringList>(d));
|
||||
*static_cast<QJsonArray *>(result) = QJsonArray::fromStringList(d->get<QStringList>());
|
||||
break;
|
||||
case QMetaType::QVariantList:
|
||||
*static_cast<QJsonArray *>(result) = QJsonArray::fromVariantList(*v_cast<QVariantList>(d));
|
||||
*static_cast<QJsonArray *>(result) = QJsonArray::fromVariantList(d->get<QVariantList>());
|
||||
break;
|
||||
case QMetaType::QJsonValue:
|
||||
if (!v_cast<QJsonValue>(d)->isArray())
|
||||
if (!d->get<QJsonValue>().isArray())
|
||||
return false;
|
||||
*static_cast<QJsonArray *>(result) = v_cast<QJsonValue>(d)->toArray();
|
||||
*static_cast<QJsonArray *>(result) = d->get<QJsonValue>().toArray();
|
||||
break;
|
||||
case QMetaType::QJsonDocument:
|
||||
if (!v_cast<QJsonDocument>(d)->isArray())
|
||||
if (!d->get<QJsonDocument>().isArray())
|
||||
return false;
|
||||
*static_cast<QJsonArray *>(result) = v_cast<QJsonDocument>(d)->array();
|
||||
*static_cast<QJsonArray *>(result) = d->get<QJsonDocument>().array();
|
||||
break;
|
||||
case QMetaType::QCborValue:
|
||||
if (!v_cast<QCborValue>(d)->isArray())
|
||||
if (!d->get<QCborValue>().isArray())
|
||||
return false;
|
||||
*static_cast<QJsonArray *>(result) = v_cast<QCborValue>(d)->toArray().toJsonArray();
|
||||
*static_cast<QJsonArray *>(result) = d->get<QCborValue>().toArray().toJsonArray();
|
||||
break;
|
||||
case QMetaType::QCborArray:
|
||||
*static_cast<QJsonArray *>(result) = v_cast<QCborArray>(d)->toJsonArray();
|
||||
*static_cast<QJsonArray *>(result) = d->get<QCborArray>().toJsonArray();
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
@ -1114,36 +1114,36 @@ static bool convert(const QVariant::Private *d, int t, void *result)
|
||||
case QMetaType::QJsonObject:
|
||||
switch (d->type().id()) {
|
||||
case QMetaType::QVariantMap:
|
||||
*static_cast<QJsonObject *>(result) = QJsonObject::fromVariantMap(*v_cast<QVariantMap>(d));
|
||||
*static_cast<QJsonObject *>(result) = QJsonObject::fromVariantMap(d->get<QVariantMap>());
|
||||
break;
|
||||
case QMetaType::QVariantHash:
|
||||
*static_cast<QJsonObject *>(result) = QJsonObject::fromVariantHash(*v_cast<QVariantHash>(d));
|
||||
*static_cast<QJsonObject *>(result) = QJsonObject::fromVariantHash(d->get<QVariantHash>());
|
||||
break;
|
||||
case QMetaType::QJsonValue:
|
||||
if (!v_cast<QJsonValue>(d)->isObject())
|
||||
if (!d->get<QJsonValue>().isObject())
|
||||
return false;
|
||||
*static_cast<QJsonObject *>(result) = v_cast<QJsonValue>(d)->toObject();
|
||||
*static_cast<QJsonObject *>(result) = d->get<QJsonValue>().toObject();
|
||||
break;
|
||||
case QMetaType::QJsonDocument:
|
||||
if (v_cast<QJsonDocument>(d)->isArray())
|
||||
if (d->get<QJsonDocument>().isArray())
|
||||
return false;
|
||||
*static_cast<QJsonObject *>(result) = v_cast<QJsonDocument>(d)->object();
|
||||
*static_cast<QJsonObject *>(result) = d->get<QJsonDocument>().object();
|
||||
break;
|
||||
case QMetaType::QCborValue:
|
||||
if (!v_cast<QCborValue>(d)->isMap())
|
||||
if (!d->get<QCborValue>().isMap())
|
||||
return false;
|
||||
*static_cast<QJsonObject *>(result) = v_cast<QCborValue>(d)->toMap().toJsonObject();
|
||||
*static_cast<QJsonObject *>(result) = d->get<QCborValue>().toMap().toJsonObject();
|
||||
break;
|
||||
case QMetaType::QCborMap:
|
||||
*static_cast<QJsonObject *>(result) = v_cast<QCborMap>(d)->toJsonObject();
|
||||
*static_cast<QJsonObject *>(result) = d->get<QCborMap>().toJsonObject();
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case QMetaType::QCborSimpleType:
|
||||
if (d->type().id() == QMetaType::QCborValue && v_cast<QCborValue>(d)->isSimpleType()) {
|
||||
*static_cast<QCborSimpleType *>(result) = v_cast<QCborValue>(d)->toSimpleType();
|
||||
if (d->type().id() == QMetaType::QCborValue && d->get<QCborValue>().isSimpleType()) {
|
||||
*static_cast<QCborSimpleType *>(result) = d->get<QCborValue>().toSimpleType();
|
||||
break;
|
||||
}
|
||||
return false;
|
||||
@ -1175,51 +1175,51 @@ static bool convert(const QVariant::Private *d, int t, void *result)
|
||||
Q_ASSERT(ok);
|
||||
break;
|
||||
case QMetaType::QString:
|
||||
*static_cast<QCborValue *>(result) = *v_cast<QString>(d);
|
||||
*static_cast<QCborValue *>(result) = d->get<QString>();
|
||||
break;
|
||||
case QMetaType::QStringList:
|
||||
*static_cast<QCborValue *>(result) = QCborArray::fromStringList(*v_cast<QStringList>(d));
|
||||
*static_cast<QCborValue *>(result) = QCborArray::fromStringList(d->get<QStringList>());
|
||||
break;
|
||||
case QMetaType::QByteArray:
|
||||
*static_cast<QCborValue *>(result) = *v_cast<QByteArray>(d);
|
||||
*static_cast<QCborValue *>(result) = d->get<QByteArray>();
|
||||
break;
|
||||
case QMetaType::QDate:
|
||||
*static_cast<QCborValue *>(result) = QCborValue(v_cast<QDate>(d)->startOfDay());
|
||||
*static_cast<QCborValue *>(result) = QCborValue(d->get<QDate>().startOfDay());
|
||||
break;
|
||||
case QMetaType::QDateTime:
|
||||
*static_cast<QCborValue *>(result) = QCborValue(*v_cast<QDateTime>(d));
|
||||
*static_cast<QCborValue *>(result) = QCborValue(d->get<QDateTime>());
|
||||
break;
|
||||
case QMetaType::QUrl:
|
||||
*static_cast<QCborValue *>(result) = QCborValue(*v_cast<QUrl>(d));
|
||||
*static_cast<QCborValue *>(result) = QCborValue(d->get<QUrl>());
|
||||
break;
|
||||
#if QT_CONFIG(regularexpression)
|
||||
case QMetaType::QRegularExpression:
|
||||
*static_cast<QCborValue *>(result) = QCborValue(*v_cast<QRegularExpression>(d));
|
||||
*static_cast<QCborValue *>(result) = QCborValue(d->get<QRegularExpression>());
|
||||
break;
|
||||
#endif
|
||||
case QMetaType::QUuid:
|
||||
*static_cast<QCborValue *>(result) = QCborValue(*v_cast<QUuid>(d));
|
||||
*static_cast<QCborValue *>(result) = QCborValue(d->get<QUuid>());
|
||||
break;
|
||||
case QMetaType::QVariantList:
|
||||
*static_cast<QCborValue *>(result) = QCborArray::fromVariantList(*v_cast<QVariantList>(d));
|
||||
*static_cast<QCborValue *>(result) = QCborArray::fromVariantList(d->get<QVariantList>());
|
||||
break;
|
||||
case QMetaType::QVariantMap:
|
||||
*static_cast<QCborValue *>(result) = QCborMap::fromVariantMap(*v_cast<QVariantMap>(d));
|
||||
*static_cast<QCborValue *>(result) = QCborMap::fromVariantMap(d->get<QVariantMap>());
|
||||
break;
|
||||
case QMetaType::QVariantHash:
|
||||
*static_cast<QCborValue *>(result) = QCborMap::fromVariantHash(*v_cast<QVariantHash>(d));
|
||||
*static_cast<QCborValue *>(result) = QCborMap::fromVariantHash(d->get<QVariantHash>());
|
||||
break;
|
||||
case QMetaType::QJsonValue:
|
||||
*static_cast<QCborValue *>(result) = QCborValue::fromJsonValue(*v_cast<QJsonValue>(d));
|
||||
*static_cast<QCborValue *>(result) = QCborValue::fromJsonValue(d->get<QJsonValue>());
|
||||
break;
|
||||
case QMetaType::QJsonObject:
|
||||
*static_cast<QCborValue *>(result) = QCborMap::fromJsonObject(*v_cast<QJsonObject>(d));
|
||||
*static_cast<QCborValue *>(result) = QCborMap::fromJsonObject(d->get<QJsonObject>());
|
||||
break;
|
||||
case QMetaType::QJsonArray:
|
||||
*static_cast<QCborValue *>(result) = QCborArray::fromJsonArray(*v_cast<QJsonArray>(d));
|
||||
*static_cast<QCborValue *>(result) = QCborArray::fromJsonArray(d->get<QJsonArray>());
|
||||
break;
|
||||
case QMetaType::QJsonDocument: {
|
||||
QJsonDocument doc = *v_cast<QJsonDocument>(d);
|
||||
QJsonDocument doc = d->get<QJsonDocument>();
|
||||
if (doc.isArray())
|
||||
*static_cast<QCborValue *>(result) = QCborArray::fromJsonArray(doc.array());
|
||||
else
|
||||
@ -1227,13 +1227,13 @@ static bool convert(const QVariant::Private *d, int t, void *result)
|
||||
break;
|
||||
}
|
||||
case QMetaType::QCborSimpleType:
|
||||
*static_cast<QCborValue *>(result) = *v_cast<QCborSimpleType>(d);
|
||||
*static_cast<QCborValue *>(result) = d->get<QCborSimpleType>();
|
||||
break;
|
||||
case QMetaType::QCborMap:
|
||||
*static_cast<QCborValue *>(result) = *v_cast<QCborMap>(d);
|
||||
*static_cast<QCborValue *>(result) = d->get<QCborMap>();
|
||||
break;
|
||||
case QMetaType::QCborArray:
|
||||
*static_cast<QCborValue *>(result) = *v_cast<QCborArray>(d);
|
||||
*static_cast<QCborValue *>(result) = d->get<QCborArray>();
|
||||
break;
|
||||
default:
|
||||
*static_cast<QCborValue *>(result) = {};
|
||||
@ -1243,28 +1243,28 @@ static bool convert(const QVariant::Private *d, int t, void *result)
|
||||
case QMetaType::QCborArray:
|
||||
switch (d->type().id()) {
|
||||
case QMetaType::QStringList:
|
||||
*static_cast<QCborArray *>(result) = QCborArray::fromStringList(*v_cast<QStringList>(d));
|
||||
*static_cast<QCborArray *>(result) = QCborArray::fromStringList(d->get<QStringList>());
|
||||
break;
|
||||
case QMetaType::QVariantList:
|
||||
*static_cast<QCborArray *>(result) = QCborArray::fromVariantList(*v_cast<QVariantList>(d));
|
||||
*static_cast<QCborArray *>(result) = QCborArray::fromVariantList(d->get<QVariantList>());
|
||||
break;
|
||||
case QMetaType::QCborValue:
|
||||
if (!v_cast<QCborValue>(d)->isArray())
|
||||
if (!d->get<QCborValue>().isArray())
|
||||
return false;
|
||||
*static_cast<QCborArray *>(result) = v_cast<QCborValue>(d)->toArray();
|
||||
*static_cast<QCborArray *>(result) = d->get<QCborValue>().toArray();
|
||||
break;
|
||||
case QMetaType::QJsonDocument:
|
||||
if (!v_cast<QJsonDocument>(d)->isArray())
|
||||
if (!d->get<QJsonDocument>().isArray())
|
||||
return false;
|
||||
*static_cast<QCborArray *>(result) = QCborArray::fromJsonArray(v_cast<QJsonDocument>(d)->array());
|
||||
*static_cast<QCborArray *>(result) = QCborArray::fromJsonArray(d->get<QJsonDocument>().array());
|
||||
break;
|
||||
case QMetaType::QJsonValue:
|
||||
if (!v_cast<QJsonValue>(d)->isArray())
|
||||
if (!d->get<QJsonValue>().isArray())
|
||||
return false;
|
||||
*static_cast<QCborArray *>(result) = QCborArray::fromJsonArray(v_cast<QJsonValue>(d)->toArray());
|
||||
*static_cast<QCborArray *>(result) = QCborArray::fromJsonArray(d->get<QJsonValue>().toArray());
|
||||
break;
|
||||
case QMetaType::QJsonArray:
|
||||
*static_cast<QCborArray *>(result) = QCborArray::fromJsonArray(*v_cast<QJsonArray>(d));
|
||||
*static_cast<QCborArray *>(result) = QCborArray::fromJsonArray(d->get<QJsonArray>());
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
@ -1273,28 +1273,28 @@ static bool convert(const QVariant::Private *d, int t, void *result)
|
||||
case QMetaType::QCborMap:
|
||||
switch (d->type().id()) {
|
||||
case QMetaType::QVariantMap:
|
||||
*static_cast<QCborMap *>(result) = QCborMap::fromVariantMap(*v_cast<QVariantMap>(d));
|
||||
*static_cast<QCborMap *>(result) = QCborMap::fromVariantMap(d->get<QVariantMap>());
|
||||
break;
|
||||
case QMetaType::QVariantHash:
|
||||
*static_cast<QCborMap *>(result) = QCborMap::fromVariantHash(*v_cast<QVariantHash>(d));
|
||||
*static_cast<QCborMap *>(result) = QCborMap::fromVariantHash(d->get<QVariantHash>());
|
||||
break;
|
||||
case QMetaType::QCborValue:
|
||||
if (!v_cast<QCborValue>(d)->isMap())
|
||||
if (!d->get<QCborValue>().isMap())
|
||||
return false;
|
||||
*static_cast<QCborMap *>(result) = v_cast<QCborValue>(d)->toMap();
|
||||
*static_cast<QCborMap *>(result) = d->get<QCborValue>().toMap();
|
||||
break;
|
||||
case QMetaType::QJsonDocument:
|
||||
if (v_cast<QJsonDocument>(d)->isArray())
|
||||
if (d->get<QJsonDocument>().isArray())
|
||||
return false;
|
||||
*static_cast<QCborMap *>(result) = QCborMap::fromJsonObject(v_cast<QJsonDocument>(d)->object());
|
||||
*static_cast<QCborMap *>(result) = QCborMap::fromJsonObject(d->get<QJsonDocument>().object());
|
||||
break;
|
||||
case QMetaType::QJsonValue:
|
||||
if (!v_cast<QJsonValue>(d)->isObject())
|
||||
if (!d->get<QJsonValue>().isObject())
|
||||
return false;
|
||||
*static_cast<QCborMap *>(result) = QCborMap::fromJsonObject(v_cast<QJsonValue>(d)->toObject());
|
||||
*static_cast<QCborMap *>(result) = QCborMap::fromJsonObject(d->get<QJsonValue>().toObject());
|
||||
break;
|
||||
case QMetaType::QJsonObject:
|
||||
*static_cast<QCborMap *>(result) = QCborMap::fromJsonObject(*v_cast<QJsonObject>(d));
|
||||
*static_cast<QCborMap *>(result) = QCborMap::fromJsonObject(d->get<QJsonObject>());
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
@ -1308,8 +1308,8 @@ static bool convert(const QVariant::Private *d, int t, void *result)
|
||||
QMetaEnum en = metaEnumFromType(QMetaType(t));
|
||||
if (en.isValid()) {
|
||||
QByteArray keys = (d->type().id() == QMetaType::QString)
|
||||
? v_cast<QString>(d)->toUtf8()
|
||||
: *v_cast<QByteArray>(d);
|
||||
? d->get<QString>().toUtf8()
|
||||
: d->get<QByteArray>();
|
||||
int value = en.keysToValue(keys.constData(), &ok);
|
||||
if (ok) {
|
||||
switch (QMetaType::sizeOf(t)) {
|
||||
@ -2470,7 +2470,7 @@ inline T qVariantToHelper(const QVariant::Private &d)
|
||||
{
|
||||
QMetaType targetType = QMetaType::fromType<T>();
|
||||
if (d.type() == targetType)
|
||||
return *v_cast<T>(&d);
|
||||
return d.get<T>();
|
||||
|
||||
T ret;
|
||||
if (d.type().id() >= QMetaType::LastCoreType || targetType.id() >= QMetaType::LastCoreType) {
|
||||
@ -3511,7 +3511,7 @@ bool QVariant::canConvert(int targetTypeId) const
|
||||
}
|
||||
|
||||
if (targetTypeId == String && currentType == StringList)
|
||||
return v_cast<QStringList>(&d)->count() == 1;
|
||||
return d.get<QStringList>().count() == 1;
|
||||
return currentType < qCanConvertMatrixMaximumTargetType
|
||||
&& qCanConvertMatrix[targetTypeId] & (1U << currentType);
|
||||
}
|
||||
|
@ -58,36 +58,10 @@
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
template<typename T>
|
||||
struct QVariantIntegrator
|
||||
{
|
||||
static constexpr bool CanUseInternalSpace = sizeof(T) <= sizeof(QVariant::Private::Data);
|
||||
typedef std::integral_constant<bool, CanUseInternalSpace> CanUseInternalSpace_t;
|
||||
};
|
||||
static_assert(QVariantIntegrator<double>::CanUseInternalSpace);
|
||||
static_assert(QVariantIntegrator<long int>::CanUseInternalSpace);
|
||||
static_assert(QVariantIntegrator<qulonglong>::CanUseInternalSpace);
|
||||
|
||||
template <typename T>
|
||||
inline const T *v_cast(const QVariant::Private *d, T * = nullptr)
|
||||
{
|
||||
return !QVariantIntegrator<T>::CanUseInternalSpace
|
||||
? static_cast<const T *>(d->data.shared->data())
|
||||
: static_cast<const T *>(static_cast<const void *>(&d->data));
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
inline T *v_cast(QVariant::Private *d, T * = nullptr)
|
||||
{
|
||||
return !QVariantIntegrator<T>::CanUseInternalSpace
|
||||
? static_cast<T *>(d->data.shared->data())
|
||||
: static_cast<T *>(static_cast<void *>(&d->data));
|
||||
}
|
||||
|
||||
template <class T>
|
||||
inline void v_construct(QVariant::Private *x, const T &t)
|
||||
{
|
||||
if constexpr (QVariantIntegrator<T>::CanUseInternalSpace) {
|
||||
if constexpr (QVariant::Private::CanUseInternalSpace<T>) {
|
||||
new (&x->data) T(t);
|
||||
x->is_shared = false;
|
||||
} else {
|
||||
|
Loading…
x
Reference in New Issue
Block a user