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