diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2021-11-09 16:49:15 -0800 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2022-02-15 17:00:03 -0800 |
commit | 800f60657d28ad96e0021b4dcd812e3a3be4dcb1 (patch) | |
tree | c73f15c4ebdb01f60e0901b2bea7d0002972625c /src/corelib/serialization/qjsonobject.h | |
parent | f5762cd4b3130a650044863c5be132056f05daa5 (diff) |
QJsonObject: use QJsonValueConstRef
Change-Id: I5e52dc5b093c43a3b678fffd16b608f32f8eb4b4
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
Diffstat (limited to 'src/corelib/serialization/qjsonobject.h')
-rw-r--r-- | src/corelib/serialization/qjsonobject.h | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/corelib/serialization/qjsonobject.h b/src/corelib/serialization/qjsonobject.h index 5c0cc1f5dc..e569d85192 100644 --- a/src/corelib/serialization/qjsonobject.h +++ b/src/corelib/serialization/qjsonobject.h @@ -121,7 +121,7 @@ public: { friend class const_iterator; friend class QJsonObject; - mutable QJsonValueRef item; + QJsonValueRef item; public: typedef std::random_access_iterator_tag iterator_category; @@ -144,7 +144,8 @@ public: inline QString key() const { return item.o->keyAt(item.index); } inline QJsonValueRef value() const { return item; } inline QJsonValueRef operator*() const { return item; } - inline QJsonValueRef *operator->() const { return &item; } + inline const QJsonValueConstRef *operator->() const { return &item; } + inline QJsonValueRef *operator->() { return &item; } const QJsonValueRef operator[](qsizetype j) { return { item.o, qsizetype(item.index) + j }; } inline bool operator==(const iterator &other) const @@ -184,14 +185,14 @@ public: class const_iterator { friend class iterator; - QJsonValueRef item; + QJsonValueConstRef item; public: typedef std::random_access_iterator_tag iterator_category; typedef qsizetype difference_type; typedef QJsonValue value_type; - typedef const QJsonValueRef reference; - typedef const QJsonValueRef *pointer; + typedef const QJsonValueConstRef reference; + typedef const QJsonValueConstRef *pointer; inline const_iterator() : item(static_cast<QJsonObject*>(nullptr), 0) { } inline const_iterator(const QJsonObject *obj, qsizetype index) @@ -208,10 +209,10 @@ public: } inline QString key() const { return item.o->keyAt(item.index); } - inline QJsonValueRef value() const { return item; } - inline const QJsonValueRef operator*() const { return item; } - inline const QJsonValueRef *operator->() const { return &item; } - const QJsonValueRef operator[](qsizetype j) { return { item.o, qsizetype(item.index) + j }; } + inline QJsonValueConstRef value() const { return item; } + inline const QJsonValueConstRef operator*() const { return item; } + inline const QJsonValueConstRef *operator->() const { return &item; } + const QJsonValueConstRef operator[](qsizetype j) { return { item.o, qsizetype(item.index) + j }; } inline bool operator==(const const_iterator &other) const { return item.o == other.item.o && item.index == other.item.index; } |