From a5164f7fe3c761c9dcab58f46d8f47096daaf862 Mon Sep 17 00:00:00 2001 From: Benoit Blanchon Date: Fri, 11 Jul 2025 18:34:17 +0200 Subject: [PATCH] CollectionIterator: remove `data()` --- src/ArduinoJson/Array/ArrayImpl.hpp | 4 ++-- src/ArduinoJson/Collection/CollectionImpl.hpp | 6 +++--- src/ArduinoJson/Collection/CollectionIterator.hpp | 10 +--------- src/ArduinoJson/Object/ObjectImpl.hpp | 2 +- 4 files changed, 7 insertions(+), 15 deletions(-) diff --git a/src/ArduinoJson/Array/ArrayImpl.hpp b/src/ArduinoJson/Array/ArrayImpl.hpp index d2467fb5..796d5be4 100644 --- a/src/ArduinoJson/Array/ArrayImpl.hpp +++ b/src/ArduinoJson/Array/ArrayImpl.hpp @@ -40,7 +40,7 @@ inline VariantData* VariantImpl::getOrAddElement(size_t index) { } if (it.done()) index++; - VariantData* element = it.data(); + VariantData* element = it->data(); while (index > 0) { element = addElement(); if (!element) @@ -51,7 +51,7 @@ inline VariantData* VariantImpl::getOrAddElement(size_t index) { } inline VariantData* VariantImpl::getElement(size_t index) const { - return at(index).data(); + return at(index)->data(); } inline void VariantImpl::removeElement(iterator it) { diff --git a/src/ArduinoJson/Collection/CollectionImpl.hpp b/src/ArduinoJson/Collection/CollectionImpl.hpp index 29eecbe7..3433fe08 100644 --- a/src/ArduinoJson/Collection/CollectionImpl.hpp +++ b/src/ArduinoJson/Collection/CollectionImpl.hpp @@ -65,7 +65,7 @@ inline void VariantImpl::removeOne(iterator it) { if (it.done()) return; auto coll = getCollectionData(); - auto curr = it.data(); + auto curr = it->data(); auto prev = getPreviousSlot(curr); auto next = curr->next; if (prev) @@ -74,14 +74,14 @@ inline void VariantImpl::removeOne(iterator it) { coll->head = next; if (next == NULL_SLOT) coll->tail = prev.id(); - freeVariant({it.data(), it.currentId_}); + freeVariant({it->data(), it.currentId_}); } inline void VariantImpl::removePair(VariantImpl::iterator it) { if (it.done()) return; - auto keySlot = it.data(); + auto keySlot = it->data(); auto valueId = keySlot->next; auto valueSlot = getVariant(valueId); diff --git a/src/ArduinoJson/Collection/CollectionIterator.hpp b/src/ArduinoJson/Collection/CollectionIterator.hpp index b0496070..e4064c3f 100644 --- a/src/ArduinoJson/Collection/CollectionIterator.hpp +++ b/src/ArduinoJson/Collection/CollectionIterator.hpp @@ -43,21 +43,13 @@ class CollectionIterator { } bool operator==(const CollectionIterator& other) const { - return data() == other.data(); + return value_.data() == other->data(); } bool operator!=(const CollectionIterator& other) const { return !operator==(other); } - VariantData* data() { - return value_.data(); - } - - const VariantData* data() const { - return value_.data(); - } - private: CollectionIterator(SlotId slotId, ResourceManager* resources) : value_(resources->getVariant(slotId), resources), currentId_(slotId) {} diff --git a/src/ArduinoJson/Object/ObjectImpl.hpp b/src/ArduinoJson/Object/ObjectImpl.hpp index 1f43ce23..f691c42a 100644 --- a/src/ArduinoJson/Object/ObjectImpl.hpp +++ b/src/ArduinoJson/Object/ObjectImpl.hpp @@ -15,7 +15,7 @@ inline VariantData* VariantImpl::getMember(TAdaptedString key) const { if (it.done()) return nullptr; it.next(); - return it.data(); + return it->data(); } template