From 78a74c4017a788db13e86acd15e3e9770dd77ee1 Mon Sep 17 00:00:00 2001 From: Benoit Blanchon Date: Mon, 3 Jul 2023 10:23:12 +0200 Subject: [PATCH] Inline `slotSize()` --- src/ArduinoJson/Collection/CollectionImpl.hpp | 5 ++++- src/ArduinoJson/Variant/SlotFunctions.hpp | 9 --------- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/src/ArduinoJson/Collection/CollectionImpl.hpp b/src/ArduinoJson/Collection/CollectionImpl.hpp index 16c3f7e0..c2b1b247 100644 --- a/src/ArduinoJson/Collection/CollectionImpl.hpp +++ b/src/ArduinoJson/Collection/CollectionImpl.hpp @@ -93,7 +93,10 @@ inline size_t CollectionData::nesting() const { } inline size_t CollectionData::size() const { - return slotSize(head_); + size_t count = 0; + for (auto it = createIterator(); !it.done(); it.next()) + count++; + return count; } template diff --git a/src/ArduinoJson/Variant/SlotFunctions.hpp b/src/ArduinoJson/Variant/SlotFunctions.hpp index 23ccf651..19e4a566 100644 --- a/src/ArduinoJson/Variant/SlotFunctions.hpp +++ b/src/ArduinoJson/Variant/SlotFunctions.hpp @@ -9,15 +9,6 @@ ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE -inline size_t slotSize(const VariantSlot* var) { - size_t n = 0; - while (var) { - n++; - var = var->next(); - } - return n; -} - inline void slotRelease(VariantSlot* slot, ResourceManager* resources) { ARDUINOJSON_ASSERT(slot != nullptr); if (slot->ownsKey())