diff options
author | Matt Broadstone <mbroadstone@devonit.com> | 2013-12-29 16:19:13 -0500 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-01-16 21:49:18 +0100 |
commit | 13806e6787502f55754660c6241b31d41e6d9ac7 (patch) | |
tree | 2d0beb00ae0ad1010a326d2752c4440fc0f7fade /src | |
parent | 45673221aebcbe548d9d4d1fa9266094d4216101 (diff) |
Added convenience methods to QJsonArray for appending QJsonValues
operators for +, +=, and << were added to QJsonArray to make
it easier to work with, and more closely resemble the Qt
container classes
[ChangeLog][QtCore][QJsonArray] Added convenience methods to QJsonArray for appending QJsonValues
Change-Id: I96e0a43015f7c0f980cbbef7f20bd2085ee04795
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/corelib/json/qjsonarray.cpp | 25 | ||||
-rw-r--r-- | src/corelib/json/qjsonarray.h | 8 |
2 files changed, 33 insertions, 0 deletions
diff --git a/src/corelib/json/qjsonarray.cpp b/src/corelib/json/qjsonarray.cpp index d81de89628..61bb158ff5 100644 --- a/src/corelib/json/qjsonarray.cpp +++ b/src/corelib/json/qjsonarray.cpp @@ -188,6 +188,31 @@ QJsonArray &QJsonArray::operator =(const QJsonArray &other) return *this; } +/*! \fn QJsonArray &QJsonArray::operator+=(const QJsonValue &value) + + Appends \a value to the array, and returns a reference to the array itself. + + \since 5.3 + \sa append(), operator<<() +*/ + +/*! \fn QJsonArray QJsonArray::operator+(const QJsonValue &value) const + + Returns an array that contains all the items in this array followed + by the provided \a value. + + \since 5.3 + \sa operator+=() +*/ + +/*! \fn QJsonArray &QJsonArray::operator<<(const QJsonValue &value) + + Appends \a value to the array, and returns a reference to the array itself. + + \since 5.3 + \sa operator+=(), append() +*/ + /*! Converts the string list \a list to a QJsonArray. diff --git a/src/corelib/json/qjsonarray.h b/src/corelib/json/qjsonarray.h index 562e6accd7..84c162f0a0 100644 --- a/src/corelib/json/qjsonarray.h +++ b/src/corelib/json/qjsonarray.h @@ -183,6 +183,14 @@ public: typedef iterator Iterator; typedef const_iterator ConstIterator; + // convenience + inline QJsonArray operator+(const QJsonValue &v) const + { QJsonArray n = *this; n += v; return n; } + inline QJsonArray &operator+=(const QJsonValue &v) + { append(v); return *this; } + inline QJsonArray &operator<< (const QJsonValue &v) + { append(v); return *this; } + // stl compatibility inline void push_back(const QJsonValue &t) { append(t); } inline void push_front(const QJsonValue &t) { prepend(t); } |