diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2018-05-31 22:45:56 -0700 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2018-07-04 03:04:26 +0000 |
commit | bcaa3cd9d65adb022a7e5034f2cde054a0ba7f75 (patch) | |
tree | 5812006608822e72f3ee85f412be227139eb0c7c /src/corelib/serialization | |
parent | 2bb44414ff456873c885391e4a03afb67e7306da (diff) |
QCborValue: implement move semantics for QCbor{Array,Map} constructors
Happens a lot because of the implicit conversions. So I made it inline.
Change-Id: Icc2c231dc2c44abdb087fffd1533f311b95460b8
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/serialization')
-rw-r--r-- | src/corelib/serialization/qcborarray.h | 5 | ||||
-rw-r--r-- | src/corelib/serialization/qcbormap.h | 5 | ||||
-rw-r--r-- | src/corelib/serialization/qcborvalue.h | 2 |
3 files changed, 12 insertions, 0 deletions
diff --git a/src/corelib/serialization/qcborarray.h b/src/corelib/serialization/qcborarray.h index 0be362480c..218fa8e133 100644 --- a/src/corelib/serialization/qcborarray.h +++ b/src/corelib/serialization/qcborarray.h @@ -264,6 +264,11 @@ private: Q_DECLARE_SHARED(QCborArray) +inline QCborValue::QCborValue(QCborArray &&a) + : n(-1), container(a.d.take()), t(Array) +{ +} + inline QCborArray QCborValueRef::toArray() const { return concrete().toArray(); diff --git a/src/corelib/serialization/qcbormap.h b/src/corelib/serialization/qcbormap.h index 89de3d6786..e61e8a60e1 100644 --- a/src/corelib/serialization/qcbormap.h +++ b/src/corelib/serialization/qcbormap.h @@ -322,6 +322,11 @@ private: Q_DECLARE_SHARED(QCborMap) +inline QCborValue::QCborValue(QCborMap &&m) + : n(-1), container(m.d.take()), t(Map) +{ +} + inline QCborMap QCborValueRef::toMap() const { return concrete().toMap(); diff --git a/src/corelib/serialization/qcborvalue.h b/src/corelib/serialization/qcborvalue.h index d2adc0a88b..b7280dd35f 100644 --- a/src/corelib/serialization/qcborvalue.h +++ b/src/corelib/serialization/qcborvalue.h @@ -139,7 +139,9 @@ public: QT_ASCII_CAST_WARN QCborValue(const char *s) : QCborValue(QString::fromUtf8(s)) {} #endif QCborValue(const QCborArray &a); + QCborValue(QCborArray &&a); QCborValue(const QCborMap &m); + QCborValue(QCborMap &&m); QCborValue(QCborTag tag, const QCborValue &taggedValue = QCborValue()); QCborValue(QCborKnownTags t_, const QCborValue &tv = QCborValue()) : QCborValue(QCborTag(t_), tv) |