diff options
| author | Marc Mutz <marc.mutz@kdab.com> | 2021-06-29 23:23:48 +0200 |
|---|---|---|
| committer | Marc Mutz <marc.mutz@kdab.com> | 2021-07-06 19:35:50 +0000 |
| commit | ff77930c259ea7a1f382f0708ac062da0c44ef98 (patch) | |
| tree | 0020fb9a2e6267b2ad5c378f2960375783e9044f /src/corelib/serialization/qjsonvalue.cpp | |
| parent | 6deb28f35aeb481d7ab7d3880340f5a23eeb1aec (diff) | |
QJsonValue: add rvalue overloads for QJsonArray and QJsonObject ctors
These can be noexcept. Requires to add rvalue overloads for
QCborMap::fromJsonObject() and QCborArray::fromJsonArray(), too.
[ChangeLog][QtCore][QJsonValue] Added constructors taking
rvalue QJsonArray and rvalue QJsonObject.
[ChangeLog][QtCore][QCborMap] Added rvalue overload of
fromJsonObject().
[ChangeLog][QtCore][QCborArray] Added rvalue overload of
fromJsonArray().
Change-Id: I523c9a41166ea932fba4dd204072bd39d2192d2e
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/serialization/qjsonvalue.cpp')
| -rw-r--r-- | src/corelib/serialization/qjsonvalue.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/corelib/serialization/qjsonvalue.cpp b/src/corelib/serialization/qjsonvalue.cpp index 831a124f7b6..325e1db62eb 100644 --- a/src/corelib/serialization/qjsonvalue.cpp +++ b/src/corelib/serialization/qjsonvalue.cpp @@ -223,6 +223,15 @@ QJsonValue::QJsonValue(const QJsonArray &a) } /*! + \overload + \since 6.3 + */ +QJsonValue::QJsonValue(QJsonArray &&a) noexcept + : value(QCborArray::fromJsonArray(std::move(a))) +{ +} + +/*! Creates a value of type Object, with value \a o. */ QJsonValue::QJsonValue(const QJsonObject &o) @@ -230,6 +239,15 @@ QJsonValue::QJsonValue(const QJsonObject &o) { } +/*! + \overload + \since 6.3 + */ +QJsonValue::QJsonValue(QJsonObject &&o) noexcept + : value(QCborMap::fromJsonObject(std::move(o))) +{ +} + /*! Destroys the value. |
