QVariant: add noexcept to Qt types with noexcept copy constructors

QHash, QString, QByteArray, and QDateTime are explicitly noexcept, while
QList, QMap, and QModelIndex are implicitly noexcept because all their
members are explicitly nothrow-copyable.

There are a couple more Qt types that ought to be nothrow-copyable too,
like QBitArray and QUrl.

Change-Id: I3859764fed084846bcb0fffd17044b5ebb046ee9
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
bb10
Thiago Macieira 2022-07-22 16:43:52 -07:00
parent de7894ce3c
commit 2f0a625fd4
2 changed files with 24 additions and 24 deletions

View File

@ -580,7 +580,7 @@ QVariant::QVariant(const QVariant &p)
}
/*!
\fn QVariant::QVariant(const QString &val)
\fn QVariant::QVariant(const QString &val) noexcept
Constructs a new variant with a string value, \a val.
*/
@ -607,19 +607,19 @@ QVariant::QVariant(const QVariant &p)
*/
/*!
\fn QVariant::QVariant(const QStringList &val)
\fn QVariant::QVariant(const QStringList &val) noexcept
Constructs a new variant with a string list value, \a val.
*/
/*!
\fn QVariant::QVariant(const QMap<QString, QVariant> &val)
\fn QVariant::QVariant(const QMap<QString, QVariant> &val) noexcept
Constructs a new variant with a map of \l {QVariant}s, \a val.
*/
/*!
\fn QVariant::QVariant(const QHash<QString, QVariant> &val)
\fn QVariant::QVariant(const QHash<QString, QVariant> &val) noexcept
Constructs a new variant with a hash of \l {QVariant}s, \a val.
*/
@ -637,7 +637,7 @@ QVariant::QVariant(const QVariant &p)
*/
/*!
\fn QVariant::QVariant(const QDateTime &val)
\fn QVariant::QVariant(const QDateTime &val) noexcept
Constructs a new variant with a date/time value, \a val.
*/
@ -658,7 +658,7 @@ QVariant::QVariant(const QVariant &p)
/*!
\since 5.0
\fn QVariant::QVariant(const QModelIndex &val)
\fn QVariant::QVariant(const QModelIndex &val) noexcept
Constructs a new variant with a QModelIndex value, \a val.
*/
@ -699,7 +699,7 @@ QVariant::QVariant(const QVariant &p)
*/
/*!
\fn QVariant::QVariant(const QByteArray &val)
\fn QVariant::QVariant(const QByteArray &val) noexcept
Constructs a new variant with a bytearray value, \a val.
*/
@ -809,7 +809,7 @@ QVariant::QVariant(const QVariant &p)
*/
/*!
\fn QVariant::QVariant(const QList<QVariant> &val)
\fn QVariant::QVariant(const QList<QVariant> &val) noexcept
Constructs a new variant with a list value, \a val.
*/
@ -875,19 +875,19 @@ QVariant::QVariant(bool val) noexcept : d(std::piecewise_construct_t{}, val) {}
QVariant::QVariant(double val) noexcept : d(std::piecewise_construct_t{}, val) {}
QVariant::QVariant(float val) noexcept : d(std::piecewise_construct_t{}, val) {}
QVariant::QVariant(const QByteArray &val) : d(std::piecewise_construct_t{}, val) {}
QVariant::QVariant(const QByteArray &val) noexcept : d(std::piecewise_construct_t{}, val) {}
QVariant::QVariant(const QBitArray &val) : d(std::piecewise_construct_t{}, val) {}
QVariant::QVariant(const QString &val) : 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(const QStringList &val) : d(std::piecewise_construct_t{}, val) {}
QVariant::QVariant(const QStringList &val) noexcept : d(std::piecewise_construct_t{}, val) {}
QVariant::QVariant(QDate val) noexcept : d(std::piecewise_construct_t{}, val) {}
QVariant::QVariant(QTime val) noexcept : d(std::piecewise_construct_t{}, val) {}
QVariant::QVariant(const QDateTime &val) : d(std::piecewise_construct_t{}, val) {}
QVariant::QVariant(const QDateTime &val) noexcept : d(std::piecewise_construct_t{}, val) {}
QVariant::QVariant(const QList<QVariant> &list) : d(std::piecewise_construct_t{}, list) {}
QVariant::QVariant(const QMap<QString, QVariant> &map) : d(std::piecewise_construct_t{}, map) {}
QVariant::QVariant(const QHash<QString, QVariant> &hash) : d(std::piecewise_construct_t{}, hash) {}
QVariant::QVariant(const QList<QVariant> &list) noexcept : d(std::piecewise_construct_t{}, list) {}
QVariant::QVariant(const QMap<QString, QVariant> &map) noexcept : d(std::piecewise_construct_t{}, map) {}
QVariant::QVariant(const QHash<QString, QVariant> &hash) noexcept : d(std::piecewise_construct_t{}, hash) {}
QVariant::QVariant(QLatin1StringView val) : QVariant(QString(val)) {}
@ -921,7 +921,7 @@ QVariant::QVariant(const QJsonArray &jsonArray) : d(std::piecewise_construct_t{}
QVariant::QVariant(const QJsonDocument &jsonDocument) : d(std::piecewise_construct_t{}, jsonDocument) {}
#endif // QT_BOOTSTRAPPED
#if QT_CONFIG(itemmodel)
QVariant::QVariant(const QModelIndex &modelIndex) : d(std::piecewise_construct_t{}, modelIndex) {}
QVariant::QVariant(const QModelIndex &modelIndex) noexcept : d(std::piecewise_construct_t{}, modelIndex) {}
QVariant::QVariant(const QPersistentModelIndex &modelIndex) : d(std::piecewise_construct_t{}, modelIndex) {}
#endif

View File

@ -209,18 +209,18 @@ public:
{}
#endif
QVariant(const QByteArray &bytearray);
QVariant(const QByteArray &bytearray) noexcept;
QVariant(const QBitArray &bitarray);
QVariant(const QString &string);
QVariant(const QString &string) noexcept;
QVariant(QLatin1StringView string);
QVariant(const QStringList &stringlist);
QVariant(const QStringList &stringlist) noexcept;
QVariant(QChar qchar) noexcept;
QVariant(QDate date) noexcept;
QVariant(QTime time) noexcept;
QVariant(const QDateTime &datetime);
QVariant(const QList<QVariant> &list);
QVariant(const QMap<QString, QVariant> &map);
QVariant(const QHash<QString, QVariant> &hash);
QVariant(const QDateTime &datetime) noexcept;
QVariant(const QList<QVariant> &list) noexcept;
QVariant(const QMap<QString, QVariant> &map) noexcept;
QVariant(const QHash<QString, QVariant> &hash) noexcept;
#ifndef QT_NO_GEOM_VARIANT
QVariant(QSize size) noexcept;
QVariant(QSizeF size) noexcept;
@ -247,7 +247,7 @@ public:
QVariant(const QJsonDocument &jsonDocument);
#endif // QT_BOOTSTRAPPED
#if QT_CONFIG(itemmodel)
QVariant(const QModelIndex &modelIndex);
QVariant(const QModelIndex &modelIndex) noexcept;
QVariant(const QPersistentModelIndex &modelIndex);
#endif
#if !defined(Q_CC_GHS)