diff options
Diffstat (limited to 'src/corelib/json/qjsonvalue.h')
-rw-r--r-- | src/corelib/json/qjsonvalue.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/corelib/json/qjsonvalue.h b/src/corelib/json/qjsonvalue.h index a853acaddd..5d5ec72605 100644 --- a/src/corelib/json/qjsonvalue.h +++ b/src/corelib/json/qjsonvalue.h @@ -92,6 +92,29 @@ public: QJsonValue(const QJsonValue &other); QJsonValue &operator =(const QJsonValue &other); + QJsonValue(QJsonValue &&other) Q_DECL_NOTHROW + : ui(other.ui), + d(other.d), + t(other.t) + { + other.ui = 0; + other.d = nullptr; + other.t = Null; + } + + QJsonValue &operator =(QJsonValue &&other) Q_DECL_NOTHROW + { + swap(other); + return *this; + } + + void swap(QJsonValue &other) Q_DECL_NOTHROW + { + qSwap(ui, other.ui); + qSwap(d, other.d); + qSwap(t, other.t); + } + static QJsonValue fromVariant(const QVariant &variant); QVariant toVariant() const; @@ -114,6 +137,10 @@ public: QJsonObject toObject() const; QJsonObject toObject(const QJsonObject &defaultValue) const; + const QJsonValue operator[](const QString &key) const; + const QJsonValue operator[](QLatin1String key) const; + const QJsonValue operator[](int i) const; + bool operator==(const QJsonValue &other) const; bool operator!=(const QJsonValue &other) const; @@ -217,6 +244,8 @@ public: }; #endif +Q_DECLARE_SHARED_NOT_MOVABLE_UNTIL_QT6(QJsonValue) + #if !defined(QT_NO_DEBUG_STREAM) && !defined(QT_JSON_READONLY) Q_CORE_EXPORT QDebug operator<<(QDebug, const QJsonValue &); #endif |