summaryrefslogtreecommitdiffstats
path: root/src/corelib/serialization/qjsonobject.h
diff options
context:
space:
mode:
authorTatiana Borisova <tatiana.borisova@qt.io>2024-03-20 17:43:22 +0100
committerTatiana Borisova <tatiana.borisova@qt.io>2024-03-25 23:29:31 +0100
commit25652c281960aa5647bc137dcee54b7e712e4897 (patch)
tree2e533d2c6fc208b2e455a9d24c6d7f1a5ce45b87 /src/corelib/serialization/qjsonobject.h
parentf5d5a42dc3fba2a3a9d911e8ddc589d191f7d247 (diff)
QJsonObject: use new comparison helper macros
Replace public operators operator==(), operator!=() of QJsonObject to friend methods comparesEqual(). Use QT_CORE_REMOVED_SINCE and removed_api.cpp to get rid of current comparison methods and replace them with a friend. Add friend method comparesEqual(QJsonObject, QJsonValue) to the QJsonObject class, to support comparison between QJsonObject and QJsonValue elements, see test-case valueEquals(). Task-number: QTBUG-120300 Change-Id: Ibab0b4b39966205447e31c41e94e7e1a4e31e553 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
Diffstat (limited to 'src/corelib/serialization/qjsonobject.h')
-rw-r--r--src/corelib/serialization/qjsonobject.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/corelib/serialization/qjsonobject.h b/src/corelib/serialization/qjsonobject.h
index 64967d4a0e..bdf35a4f20 100644
--- a/src/corelib/serialization/qjsonobject.h
+++ b/src/corelib/serialization/qjsonobject.h
@@ -72,9 +72,10 @@ public:
bool contains(QStringView key) const;
bool contains(QLatin1StringView key) const;
+#if QT_CORE_REMOVED_SINCE(6, 8)
bool operator==(const QJsonObject &other) const;
bool operator!=(const QJsonObject &other) const;
-
+#endif
class const_iterator;
class iterator
@@ -236,6 +237,15 @@ public:
inline bool empty() const { return isEmpty(); }
private:
+ friend Q_CORE_EXPORT bool comparesEqual(const QJsonObject &lhs,
+ const QJsonObject &rhs) noexcept;
+ friend bool comparesEqual(const QJsonObject &lhs,
+ const QJsonValue &rhs) noexcept
+ {
+ return comparesEqual(lhs, rhs.toObject());
+ }
+ Q_DECLARE_EQUALITY_COMPARABLE(QJsonObject)
+ Q_DECLARE_EQUALITY_COMPARABLE(QJsonObject, QJsonValue)
friend class QJsonValue;
friend class QJsonDocument;
friend class QJsonPrivate::Value;