mirror of
https://github.com/bblanchon/ArduinoJson.git
synced 2025-07-29 18:27:37 +02:00
Simplify JsonObject::operator==
This commit is contained in:
@ -58,5 +58,7 @@ bool arrayEquals(const detail::CollectionData* lhs,
|
||||
const detail::CollectionData* rhs);
|
||||
bool objectEquals(const detail::CollectionData& lhs,
|
||||
const detail::CollectionData& rhs);
|
||||
bool objectEquals(const detail::CollectionData* lhs,
|
||||
const detail::CollectionData* rhs);
|
||||
|
||||
ARDUINOJSON_END_PRIVATE_NAMESPACE
|
||||
|
@ -138,4 +138,14 @@ inline bool objectEquals(const CollectionData& lhs, const CollectionData& rhs) {
|
||||
return count == rhs.size();
|
||||
}
|
||||
|
||||
inline bool objectEquals(const CollectionData* lhs, const CollectionData* rhs) {
|
||||
if (lhs == rhs)
|
||||
return true;
|
||||
|
||||
if (!lhs || !rhs)
|
||||
return false;
|
||||
|
||||
return objectEquals(*lhs, *rhs);
|
||||
}
|
||||
|
||||
ARDUINOJSON_END_PRIVATE_NAMESPACE
|
||||
|
@ -100,7 +100,7 @@ class JsonObject : public detail::VariantOperators<JsonObject> {
|
||||
|
||||
// Compares the content of two objects.
|
||||
FORCE_INLINE bool operator==(JsonObject rhs) const {
|
||||
return JsonObjectConst(data_) == JsonObjectConst(rhs.data_);
|
||||
return objectEquals(data_, rhs.data_);
|
||||
}
|
||||
|
||||
// Gets or sets the member with specified key.
|
||||
|
@ -108,13 +108,7 @@ class JsonObjectConst : public detail::VariantOperators<JsonObjectConst> {
|
||||
|
||||
// Compares objects.
|
||||
FORCE_INLINE bool operator==(JsonObjectConst rhs) const {
|
||||
if (data_ == rhs.data_)
|
||||
return true;
|
||||
|
||||
if (!data_ || !rhs.data_)
|
||||
return false;
|
||||
|
||||
return objectEquals(*data_, *rhs.data_);
|
||||
return objectEquals(data_, rhs.data_);
|
||||
}
|
||||
|
||||
private:
|
||||
|
Reference in New Issue
Block a user