From 13806e6787502f55754660c6241b31d41e6d9ac7 Mon Sep 17 00:00:00 2001 From: Matt Broadstone Date: Sun, 29 Dec 2013 16:19:13 -0500 Subject: 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 --- src/corelib/json/qjsonarray.cpp | 25 +++++++++++++++++++++++++ src/corelib/json/qjsonarray.h | 8 ++++++++ 2 files changed, 33 insertions(+) (limited to 'src/corelib/json') 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); } -- cgit v1.2.3