summaryrefslogtreecommitdiffstats
path: root/src/corelib/serialization/qjsonobject.h
diff options
context:
space:
mode:
authorMat Sutcliffe <oktal3700@gmail.com>2019-07-12 20:22:49 +0100
committerMat Sutcliffe <oktal3700@gmail.com>2019-07-20 12:04:31 +0100
commit7f8e3aab2d5aca5349fd0f0da6245465dc7db5e0 (patch)
tree658a61cfcb1df2def13f59d0eebe6d5afad01791 /src/corelib/serialization/qjsonobject.h
parenta4e9fa03cabfc11105e700e38184a70888da4e7a (diff)
JSON: add some QStringView overloads
[ChangeLog][QtCore][JSON] Added overloads of functions taking key strings as QStringView; in QJsonObject, QJsonValue and QJsonDocument. Change-Id: I78b40aba8200003acfae257ff06f5f15737005e7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Anton Kudryavtsev <antkudr@mail.ru>
Diffstat (limited to 'src/corelib/serialization/qjsonobject.h')
-rw-r--r--src/corelib/serialization/qjsonobject.h28
1 files changed, 22 insertions, 6 deletions
diff --git a/src/corelib/serialization/qjsonobject.h b/src/corelib/serialization/qjsonobject.h
index b12769d3d3..bdaf85b460 100644
--- a/src/corelib/serialization/qjsonobject.h
+++ b/src/corelib/serialization/qjsonobject.h
@@ -100,16 +100,26 @@ public:
inline int length() const { return size(); }
bool isEmpty() const;
+#if QT_STRINGVIEW_LEVEL < 2
QJsonValue value(const QString &key) const;
- QJsonValue value(QLatin1String key) const;
QJsonValue operator[] (const QString &key) const;
- QJsonValue operator[] (QLatin1String key) const { return value(key); }
QJsonValueRef operator[] (const QString &key);
+#endif
+ QJsonValue value(QStringView key) const;
+ QJsonValue value(QLatin1String key) const;
+ QJsonValue operator[] (QStringView key) const { return value(key); }
+ QJsonValue operator[] (QLatin1String key) const { return value(key); }
+ QJsonValueRef operator[] (QStringView key);
QJsonValueRef operator[] (QLatin1String key);
+#if QT_STRINGVIEW_LEVEL < 2
void remove(const QString &key);
QJsonValue take(const QString &key);
bool contains(const QString &key) const;
+#endif
+ void remove(QStringView key);
+ QJsonValue take(QStringView key);
+ bool contains(QStringView key) const;
bool contains(QLatin1String key) const;
bool operator==(const QJsonObject &other) const;
@@ -218,13 +228,19 @@ public:
// more Qt
typedef iterator Iterator;
typedef const_iterator ConstIterator;
+#if QT_STRINGVIEW_LEVEL < 2
iterator find(const QString &key);
- iterator find(QLatin1String key);
const_iterator find(const QString &key) const { return constFind(key); }
- const_iterator find(QLatin1String key) const { return constFind(key); }
const_iterator constFind(const QString &key) const;
- const_iterator constFind(QLatin1String key) const;
iterator insert(const QString &key, const QJsonValue &value);
+#endif
+ iterator find(QStringView key);
+ iterator find(QLatin1String key);
+ const_iterator find(QStringView key) const { return constFind(key); }
+ const_iterator find(QLatin1String key) const { return constFind(key); }
+ const_iterator constFind(QStringView key) const;
+ const_iterator constFind(QLatin1String key) const;
+ iterator insert(QStringView key, const QJsonValue &value);
// STL compatibility
typedef QJsonValue mapped_type;
@@ -253,7 +269,7 @@ private:
QJsonValue valueAt(int i) const;
void setValueAt(int i, const QJsonValue &val);
void removeAt(int i);
- iterator insertAt(int i, const QString &key, const QJsonValue &val, bool exists);
+ iterator insertAt(int i, QStringView key, const QJsonValue &val, bool exists);
QJsonPrivate::Data *d;
QJsonPrivate::Object *o;