From ffda9927cd4a2f395d53dc2fdab2f23721f04b03 Mon Sep 17 00:00:00 2001 From: Davide Perini Date: Mon, 30 Dec 2024 18:35:40 +0100 Subject: [PATCH] libs update --- .pio/libdeps/watchwinder_1/ArduinoJson/.piopm | 2 +- .../watchwinder_1/ArduinoJson/library.json | 4 +- .../ArduinoJson/library.properties | 4 +- .../src/ArduinoJson/Array/ArrayData.hpp | 4 +- .../src/ArduinoJson/Array/ArrayImpl.hpp | 4 +- .../src/ArduinoJson/Array/ElementProxy.hpp | 16 ++- .../src/ArduinoJson/Array/JsonArray.hpp | 35 ++--- .../src/ArduinoJson/Array/JsonArrayConst.hpp | 12 +- .../src/ArduinoJson/Array/Utilities.hpp | 37 +++--- .../ArduinoJson/Deserialization/Reader.hpp | 2 +- .../Deserialization/deserialize.hpp | 11 +- .../src/ArduinoJson/Document/JsonDocument.hpp | 125 ++++++++++-------- .../src/ArduinoJson/Json/JsonDeserializer.hpp | 22 +-- .../src/ArduinoJson/Json/JsonSerializer.hpp | 15 ++- .../ArduinoJson/Json/PrettyJsonSerializer.hpp | 8 +- .../src/ArduinoJson/Memory/StringBuffer.hpp | 2 +- .../src/ArduinoJson/Memory/StringBuilder.hpp | 2 +- .../MsgPack/MsgPackDeserializer.hpp | 18 +-- .../ArduinoJson/MsgPack/MsgPackSerializer.hpp | 9 +- .../src/ArduinoJson/Object/JsonObject.hpp | 67 +++++----- .../ArduinoJson/Object/JsonObjectConst.hpp | 32 ++--- .../src/ArduinoJson/Object/MemberProxy.hpp | 32 +++-- .../src/ArduinoJson/Polyfills/type_traits.hpp | 1 + .../src/ArduinoJson/Serialization/Writer.hpp | 2 +- .../Strings/Adapters/FlashString.hpp | 6 +- .../Strings/Adapters/JsonString.hpp | 35 ----- .../Strings/Adapters/RamString.hpp | 103 ++++++--------- .../Strings/Adapters/StringObject.hpp | 2 +- .../src/ArduinoJson/Strings/IsString.hpp | 2 +- .../src/ArduinoJson/Strings/JsonString.hpp | 58 +++++--- .../src/ArduinoJson/Strings/StringAdapter.hpp | 28 +++- .../ArduinoJson/Strings/StringAdapters.hpp | 1 - .../src/ArduinoJson/Variant/ConverterImpl.hpp | 4 +- .../ArduinoJson/Variant/JsonVariantConst.hpp | 60 +++++---- .../src/ArduinoJson/Variant/VariantData.hpp | 18 ++- .../src/ArduinoJson/Variant/VariantImpl.hpp | 2 +- .../ArduinoJson/Variant/VariantOperators.hpp | 80 +++++------ .../ArduinoJson/Variant/VariantRefBase.hpp | 91 +++++++------ .../Variant/VariantRefBaseImpl.hpp | 56 ++++---- .../ArduinoJson/src/ArduinoJson/version.hpp | 8 +- .pio/libdeps/watchwinder_2/ArduinoJson/.piopm | 2 +- .../watchwinder_2/ArduinoJson/library.json | 4 +- .../ArduinoJson/library.properties | 4 +- .../src/ArduinoJson/Array/ArrayData.hpp | 4 +- .../src/ArduinoJson/Array/ArrayImpl.hpp | 4 +- .../src/ArduinoJson/Array/ElementProxy.hpp | 16 ++- .../src/ArduinoJson/Array/JsonArray.hpp | 35 ++--- .../src/ArduinoJson/Array/JsonArrayConst.hpp | 12 +- .../src/ArduinoJson/Array/Utilities.hpp | 37 +++--- .../ArduinoJson/Deserialization/Reader.hpp | 2 +- .../Deserialization/deserialize.hpp | 11 +- .../src/ArduinoJson/Document/JsonDocument.hpp | 125 ++++++++++-------- .../src/ArduinoJson/Json/JsonDeserializer.hpp | 22 +-- .../src/ArduinoJson/Json/JsonSerializer.hpp | 15 ++- .../ArduinoJson/Json/PrettyJsonSerializer.hpp | 8 +- .../src/ArduinoJson/Memory/StringBuffer.hpp | 2 +- .../src/ArduinoJson/Memory/StringBuilder.hpp | 2 +- .../MsgPack/MsgPackDeserializer.hpp | 18 +-- .../ArduinoJson/MsgPack/MsgPackSerializer.hpp | 9 +- .../src/ArduinoJson/Object/JsonObject.hpp | 67 +++++----- .../ArduinoJson/Object/JsonObjectConst.hpp | 32 ++--- .../src/ArduinoJson/Object/MemberProxy.hpp | 32 +++-- .../src/ArduinoJson/Polyfills/type_traits.hpp | 1 + .../src/ArduinoJson/Serialization/Writer.hpp | 2 +- .../Strings/Adapters/FlashString.hpp | 6 +- .../Strings/Adapters/JsonString.hpp | 35 ----- .../Strings/Adapters/RamString.hpp | 103 ++++++--------- .../Strings/Adapters/StringObject.hpp | 2 +- .../src/ArduinoJson/Strings/IsString.hpp | 2 +- .../src/ArduinoJson/Strings/JsonString.hpp | 58 +++++--- .../src/ArduinoJson/Strings/StringAdapter.hpp | 28 +++- .../ArduinoJson/Strings/StringAdapters.hpp | 1 - .../src/ArduinoJson/Variant/ConverterImpl.hpp | 4 +- .../ArduinoJson/Variant/JsonVariantConst.hpp | 60 +++++---- .../src/ArduinoJson/Variant/VariantData.hpp | 18 ++- .../src/ArduinoJson/Variant/VariantImpl.hpp | 2 +- .../ArduinoJson/Variant/VariantOperators.hpp | 80 +++++------ .../ArduinoJson/Variant/VariantRefBase.hpp | 91 +++++++------ .../Variant/VariantRefBaseImpl.hpp | 56 ++++---- .../ArduinoJson/src/ArduinoJson/version.hpp | 8 +- .pio/libdeps/watchwinder_3/ArduinoJson/.piopm | 2 +- .../watchwinder_3/ArduinoJson/library.json | 4 +- .../ArduinoJson/library.properties | 4 +- .../src/ArduinoJson/Array/ArrayData.hpp | 4 +- .../src/ArduinoJson/Array/ArrayImpl.hpp | 4 +- .../src/ArduinoJson/Array/ElementProxy.hpp | 16 ++- .../src/ArduinoJson/Array/JsonArray.hpp | 35 ++--- .../src/ArduinoJson/Array/JsonArrayConst.hpp | 12 +- .../src/ArduinoJson/Array/Utilities.hpp | 37 +++--- .../ArduinoJson/Deserialization/Reader.hpp | 2 +- .../Deserialization/deserialize.hpp | 11 +- .../src/ArduinoJson/Document/JsonDocument.hpp | 125 ++++++++++-------- .../src/ArduinoJson/Json/JsonDeserializer.hpp | 22 +-- .../src/ArduinoJson/Json/JsonSerializer.hpp | 15 ++- .../ArduinoJson/Json/PrettyJsonSerializer.hpp | 8 +- .../src/ArduinoJson/Memory/StringBuffer.hpp | 2 +- .../src/ArduinoJson/Memory/StringBuilder.hpp | 2 +- .../MsgPack/MsgPackDeserializer.hpp | 18 +-- .../ArduinoJson/MsgPack/MsgPackSerializer.hpp | 9 +- .../src/ArduinoJson/Object/JsonObject.hpp | 67 +++++----- .../ArduinoJson/Object/JsonObjectConst.hpp | 32 ++--- .../src/ArduinoJson/Object/MemberProxy.hpp | 32 +++-- .../src/ArduinoJson/Polyfills/type_traits.hpp | 1 + .../src/ArduinoJson/Serialization/Writer.hpp | 2 +- .../Strings/Adapters/FlashString.hpp | 6 +- .../Strings/Adapters/JsonString.hpp | 35 ----- .../Strings/Adapters/RamString.hpp | 103 ++++++--------- .../Strings/Adapters/StringObject.hpp | 2 +- .../src/ArduinoJson/Strings/IsString.hpp | 2 +- .../src/ArduinoJson/Strings/JsonString.hpp | 58 +++++--- .../src/ArduinoJson/Strings/StringAdapter.hpp | 28 +++- .../ArduinoJson/Strings/StringAdapters.hpp | 1 - .../src/ArduinoJson/Variant/ConverterImpl.hpp | 4 +- .../ArduinoJson/Variant/JsonVariantConst.hpp | 60 +++++---- .../src/ArduinoJson/Variant/VariantData.hpp | 18 ++- .../src/ArduinoJson/Variant/VariantImpl.hpp | 2 +- .../ArduinoJson/Variant/VariantOperators.hpp | 80 +++++------ .../ArduinoJson/Variant/VariantRefBase.hpp | 91 +++++++------ .../Variant/VariantRefBaseImpl.hpp | 56 ++++---- .../ArduinoJson/src/ArduinoJson/version.hpp | 8 +- .pio/libdeps/watchwinder_4/ArduinoJson/.piopm | 2 +- .../watchwinder_4/ArduinoJson/library.json | 4 +- .../ArduinoJson/library.properties | 4 +- .../src/ArduinoJson/Array/ArrayData.hpp | 4 +- .../src/ArduinoJson/Array/ArrayImpl.hpp | 4 +- .../src/ArduinoJson/Array/ElementProxy.hpp | 16 ++- .../src/ArduinoJson/Array/JsonArray.hpp | 35 ++--- .../src/ArduinoJson/Array/JsonArrayConst.hpp | 12 +- .../src/ArduinoJson/Array/Utilities.hpp | 37 +++--- .../ArduinoJson/Deserialization/Reader.hpp | 2 +- .../Deserialization/deserialize.hpp | 11 +- .../src/ArduinoJson/Document/JsonDocument.hpp | 125 ++++++++++-------- .../src/ArduinoJson/Json/JsonDeserializer.hpp | 22 +-- .../src/ArduinoJson/Json/JsonSerializer.hpp | 15 ++- .../ArduinoJson/Json/PrettyJsonSerializer.hpp | 8 +- .../src/ArduinoJson/Memory/StringBuffer.hpp | 2 +- .../src/ArduinoJson/Memory/StringBuilder.hpp | 2 +- .../MsgPack/MsgPackDeserializer.hpp | 18 +-- .../ArduinoJson/MsgPack/MsgPackSerializer.hpp | 9 +- .../src/ArduinoJson/Object/JsonObject.hpp | 67 +++++----- .../ArduinoJson/Object/JsonObjectConst.hpp | 32 ++--- .../src/ArduinoJson/Object/MemberProxy.hpp | 32 +++-- .../src/ArduinoJson/Polyfills/type_traits.hpp | 1 + .../src/ArduinoJson/Serialization/Writer.hpp | 2 +- .../Strings/Adapters/FlashString.hpp | 6 +- .../Strings/Adapters/JsonString.hpp | 35 ----- .../Strings/Adapters/RamString.hpp | 103 ++++++--------- .../Strings/Adapters/StringObject.hpp | 2 +- .../src/ArduinoJson/Strings/IsString.hpp | 2 +- .../src/ArduinoJson/Strings/JsonString.hpp | 58 +++++--- .../src/ArduinoJson/Strings/StringAdapter.hpp | 28 +++- .../ArduinoJson/Strings/StringAdapters.hpp | 1 - .../src/ArduinoJson/Variant/ConverterImpl.hpp | 4 +- .../ArduinoJson/Variant/JsonVariantConst.hpp | 60 +++++---- .../src/ArduinoJson/Variant/VariantData.hpp | 18 ++- .../src/ArduinoJson/Variant/VariantImpl.hpp | 2 +- .../ArduinoJson/Variant/VariantOperators.hpp | 80 +++++------ .../ArduinoJson/Variant/VariantRefBase.hpp | 91 +++++++------ .../Variant/VariantRefBaseImpl.hpp | 56 ++++---- .../ArduinoJson/src/ArduinoJson/version.hpp | 8 +- .pio/libdeps/watchwinder_5/ArduinoJson/.piopm | 2 +- .../watchwinder_5/ArduinoJson/library.json | 4 +- .../ArduinoJson/library.properties | 4 +- .../src/ArduinoJson/Array/ArrayData.hpp | 4 +- .../src/ArduinoJson/Array/ArrayImpl.hpp | 4 +- .../src/ArduinoJson/Array/ElementProxy.hpp | 16 ++- .../src/ArduinoJson/Array/JsonArray.hpp | 35 ++--- .../src/ArduinoJson/Array/JsonArrayConst.hpp | 12 +- .../src/ArduinoJson/Array/Utilities.hpp | 37 +++--- .../ArduinoJson/Deserialization/Reader.hpp | 2 +- .../Deserialization/deserialize.hpp | 11 +- .../src/ArduinoJson/Document/JsonDocument.hpp | 125 ++++++++++-------- .../src/ArduinoJson/Json/JsonDeserializer.hpp | 22 +-- .../src/ArduinoJson/Json/JsonSerializer.hpp | 15 ++- .../ArduinoJson/Json/PrettyJsonSerializer.hpp | 8 +- .../src/ArduinoJson/Memory/StringBuffer.hpp | 2 +- .../src/ArduinoJson/Memory/StringBuilder.hpp | 2 +- .../MsgPack/MsgPackDeserializer.hpp | 18 +-- .../ArduinoJson/MsgPack/MsgPackSerializer.hpp | 9 +- .../src/ArduinoJson/Object/JsonObject.hpp | 67 +++++----- .../ArduinoJson/Object/JsonObjectConst.hpp | 32 ++--- .../src/ArduinoJson/Object/MemberProxy.hpp | 32 +++-- .../src/ArduinoJson/Polyfills/type_traits.hpp | 1 + .../src/ArduinoJson/Serialization/Writer.hpp | 2 +- .../Strings/Adapters/FlashString.hpp | 6 +- .../Strings/Adapters/JsonString.hpp | 35 ----- .../Strings/Adapters/RamString.hpp | 103 ++++++--------- .../Strings/Adapters/StringObject.hpp | 2 +- .../src/ArduinoJson/Strings/IsString.hpp | 2 +- .../src/ArduinoJson/Strings/JsonString.hpp | 58 +++++--- .../src/ArduinoJson/Strings/StringAdapter.hpp | 28 +++- .../ArduinoJson/Strings/StringAdapters.hpp | 1 - .../src/ArduinoJson/Variant/ConverterImpl.hpp | 4 +- .../ArduinoJson/Variant/JsonVariantConst.hpp | 60 +++++---- .../src/ArduinoJson/Variant/VariantData.hpp | 18 ++- .../src/ArduinoJson/Variant/VariantImpl.hpp | 2 +- .../ArduinoJson/Variant/VariantOperators.hpp | 80 +++++------ .../ArduinoJson/Variant/VariantRefBase.hpp | 91 +++++++------ .../Variant/VariantRefBaseImpl.hpp | 56 ++++---- .../ArduinoJson/src/ArduinoJson/version.hpp | 8 +- .pio/libdeps/watchwinder_6/ArduinoJson/.piopm | 2 +- .../watchwinder_6/ArduinoJson/library.json | 4 +- .../ArduinoJson/library.properties | 4 +- .../src/ArduinoJson/Array/ArrayData.hpp | 4 +- .../src/ArduinoJson/Array/ArrayImpl.hpp | 4 +- .../src/ArduinoJson/Array/ElementProxy.hpp | 16 ++- .../src/ArduinoJson/Array/JsonArray.hpp | 35 ++--- .../src/ArduinoJson/Array/JsonArrayConst.hpp | 12 +- .../src/ArduinoJson/Array/Utilities.hpp | 37 +++--- .../ArduinoJson/Deserialization/Reader.hpp | 2 +- .../Deserialization/deserialize.hpp | 11 +- .../src/ArduinoJson/Document/JsonDocument.hpp | 125 ++++++++++-------- .../src/ArduinoJson/Json/JsonDeserializer.hpp | 22 +-- .../src/ArduinoJson/Json/JsonSerializer.hpp | 15 ++- .../ArduinoJson/Json/PrettyJsonSerializer.hpp | 8 +- .../src/ArduinoJson/Memory/StringBuffer.hpp | 2 +- .../src/ArduinoJson/Memory/StringBuilder.hpp | 2 +- .../MsgPack/MsgPackDeserializer.hpp | 18 +-- .../ArduinoJson/MsgPack/MsgPackSerializer.hpp | 9 +- .../src/ArduinoJson/Object/JsonObject.hpp | 67 +++++----- .../ArduinoJson/Object/JsonObjectConst.hpp | 32 ++--- .../src/ArduinoJson/Object/MemberProxy.hpp | 32 +++-- .../src/ArduinoJson/Polyfills/type_traits.hpp | 1 + .../src/ArduinoJson/Serialization/Writer.hpp | 2 +- .../Strings/Adapters/FlashString.hpp | 6 +- .../Strings/Adapters/JsonString.hpp | 35 ----- .../Strings/Adapters/RamString.hpp | 103 ++++++--------- .../Strings/Adapters/StringObject.hpp | 2 +- .../src/ArduinoJson/Strings/IsString.hpp | 2 +- .../src/ArduinoJson/Strings/JsonString.hpp | 58 +++++--- .../src/ArduinoJson/Strings/StringAdapter.hpp | 28 +++- .../ArduinoJson/Strings/StringAdapters.hpp | 1 - .../src/ArduinoJson/Variant/ConverterImpl.hpp | 4 +- .../ArduinoJson/Variant/JsonVariantConst.hpp | 60 +++++---- .../src/ArduinoJson/Variant/VariantData.hpp | 18 ++- .../src/ArduinoJson/Variant/VariantImpl.hpp | 2 +- .../ArduinoJson/Variant/VariantOperators.hpp | 80 +++++------ .../ArduinoJson/Variant/VariantRefBase.hpp | 91 +++++++------ .../Variant/VariantRefBaseImpl.hpp | 56 ++++---- .../ArduinoJson/src/ArduinoJson/version.hpp | 8 +- include/Version.h | 4 +- version | 2 +- 242 files changed, 3111 insertions(+), 3015 deletions(-) delete mode 100644 .pio/libdeps/watchwinder_1/ArduinoJson/src/ArduinoJson/Strings/Adapters/JsonString.hpp delete mode 100644 .pio/libdeps/watchwinder_2/ArduinoJson/src/ArduinoJson/Strings/Adapters/JsonString.hpp delete mode 100644 .pio/libdeps/watchwinder_3/ArduinoJson/src/ArduinoJson/Strings/Adapters/JsonString.hpp delete mode 100644 .pio/libdeps/watchwinder_4/ArduinoJson/src/ArduinoJson/Strings/Adapters/JsonString.hpp delete mode 100644 .pio/libdeps/watchwinder_5/ArduinoJson/src/ArduinoJson/Strings/Adapters/JsonString.hpp delete mode 100644 .pio/libdeps/watchwinder_6/ArduinoJson/src/ArduinoJson/Strings/Adapters/JsonString.hpp diff --git a/.pio/libdeps/watchwinder_1/ArduinoJson/.piopm b/.pio/libdeps/watchwinder_1/ArduinoJson/.piopm index 53df67c..21d9f48 100644 --- a/.pio/libdeps/watchwinder_1/ArduinoJson/.piopm +++ b/.pio/libdeps/watchwinder_1/ArduinoJson/.piopm @@ -1 +1 @@ -{"type": "library", "name": "ArduinoJson", "version": "7.2.1", "spec": {"owner": "bblanchon", "id": 64, "name": "ArduinoJson", "requirements": null, "uri": null}} \ No newline at end of file +{"type": "library", "name": "ArduinoJson", "version": "7.3.0", "spec": {"owner": "bblanchon", "id": 64, "name": "ArduinoJson", "requirements": null, "uri": null}} \ No newline at end of file diff --git a/.pio/libdeps/watchwinder_1/ArduinoJson/library.json b/.pio/libdeps/watchwinder_1/ArduinoJson/library.json index 4c61b31..ba5d224 100644 --- a/.pio/libdeps/watchwinder_1/ArduinoJson/library.json +++ b/.pio/libdeps/watchwinder_1/ArduinoJson/library.json @@ -1,13 +1,13 @@ { "name": "ArduinoJson", "keywords": "json, rest, http, web", - "description": "A simple and efficient JSON library for embedded C++. ⭐ 6739 stars on GitHub! Supports serialization, deserialization, MessagePack, streams, filtering, and more. Fully tested and documented.", + "description": "A simple and efficient JSON library for embedded C++. ⭐ 6785 stars on GitHub! Supports serialization, deserialization, MessagePack, streams, filtering, and more. Fully tested and documented.", "homepage": "https://arduinojson.org/?utm_source=meta&utm_medium=library.json", "repository": { "type": "git", "url": "https://github.com/bblanchon/ArduinoJson.git" }, - "version": "7.2.1", + "version": "7.3.0", "authors": { "name": "Benoit Blanchon", "url": "https://blog.benoitblanchon.fr" diff --git a/.pio/libdeps/watchwinder_1/ArduinoJson/library.properties b/.pio/libdeps/watchwinder_1/ArduinoJson/library.properties index c3ea5c3..6a153c0 100644 --- a/.pio/libdeps/watchwinder_1/ArduinoJson/library.properties +++ b/.pio/libdeps/watchwinder_1/ArduinoJson/library.properties @@ -1,9 +1,9 @@ name=ArduinoJson -version=7.2.1 +version=7.3.0 author=Benoit Blanchon maintainer=Benoit Blanchon sentence=A simple and efficient JSON library for embedded C++. -paragraph=⭐ 6739 stars on GitHub! Supports serialization, deserialization, MessagePack, streams, filtering, and more. Fully tested and documented. +paragraph=⭐ 6785 stars on GitHub! Supports serialization, deserialization, MessagePack, streams, filtering, and more. Fully tested and documented. category=Data Processing url=https://arduinojson.org/?utm_source=meta&utm_medium=library.properties architectures=* diff --git a/.pio/libdeps/watchwinder_1/ArduinoJson/src/ArduinoJson/Array/ArrayData.hpp b/.pio/libdeps/watchwinder_1/ArduinoJson/src/ArduinoJson/Array/ArrayData.hpp index c2ae1fb..f0f3175 100644 --- a/.pio/libdeps/watchwinder_1/ArduinoJson/src/ArduinoJson/Array/ArrayData.hpp +++ b/.pio/libdeps/watchwinder_1/ArduinoJson/src/ArduinoJson/Array/ArrayData.hpp @@ -19,10 +19,10 @@ class ArrayData : public CollectionData { } template - bool addValue(T&& value, ResourceManager* resources); + bool addValue(const T& value, ResourceManager* resources); template - static bool addValue(ArrayData* array, T&& value, + static bool addValue(ArrayData* array, const T& value, ResourceManager* resources) { if (!array) return false; diff --git a/.pio/libdeps/watchwinder_1/ArduinoJson/src/ArduinoJson/Array/ArrayImpl.hpp b/.pio/libdeps/watchwinder_1/ArduinoJson/src/ArduinoJson/Array/ArrayImpl.hpp index 9599a5e..de26193 100644 --- a/.pio/libdeps/watchwinder_1/ArduinoJson/src/ArduinoJson/Array/ArrayImpl.hpp +++ b/.pio/libdeps/watchwinder_1/ArduinoJson/src/ArduinoJson/Array/ArrayImpl.hpp @@ -57,13 +57,13 @@ inline void ArrayData::removeElement(size_t index, ResourceManager* resources) { } template -inline bool ArrayData::addValue(T&& value, ResourceManager* resources) { +inline bool ArrayData::addValue(const T& value, ResourceManager* resources) { ARDUINOJSON_ASSERT(resources != nullptr); auto slot = resources->allocVariant(); if (!slot) return false; JsonVariant variant(slot.ptr(), resources); - if (!variant.set(detail::forward(value))) { + if (!variant.set(value)) { resources->freeVariant(slot); return false; } diff --git a/.pio/libdeps/watchwinder_1/ArduinoJson/src/ArduinoJson/Array/ElementProxy.hpp b/.pio/libdeps/watchwinder_1/ArduinoJson/src/ArduinoJson/Array/ElementProxy.hpp index f36b68e..06994a9 100644 --- a/.pio/libdeps/watchwinder_1/ArduinoJson/src/ArduinoJson/Array/ElementProxy.hpp +++ b/.pio/libdeps/watchwinder_1/ArduinoJson/src/ArduinoJson/Array/ElementProxy.hpp @@ -15,13 +15,18 @@ class ElementProxy : public VariantRefBase>, public VariantOperators> { friend class VariantAttorney; + friend class VariantRefBase>; + + template + friend class MemberProxy; + + template + friend class ElementProxy; + public: ElementProxy(TUpstream upstream, size_t index) : upstream_(upstream), index_(index) {} - ElementProxy(const ElementProxy& src) - : upstream_(src.upstream_), index_(src.index_) {} - ElementProxy& operator=(const ElementProxy& src) { this->set(src); return *this; @@ -40,6 +45,11 @@ class ElementProxy : public VariantRefBase>, } private: + // clang-format off + ElementProxy(const ElementProxy& src) // Error here? See https://arduinojson.org/v7/proxy-non-copyable/ + : upstream_(src.upstream_), index_(src.index_) {} + // clang-format on + ResourceManager* getResourceManager() const { return VariantAttorney::getResourceManager(upstream_); } diff --git a/.pio/libdeps/watchwinder_1/ArduinoJson/src/ArduinoJson/Array/JsonArray.hpp b/.pio/libdeps/watchwinder_1/ArduinoJson/src/ArduinoJson/Array/JsonArray.hpp index 0e3ea2e..7f02f98 100644 --- a/.pio/libdeps/watchwinder_1/ArduinoJson/src/ArduinoJson/Array/JsonArray.hpp +++ b/.pio/libdeps/watchwinder_1/ArduinoJson/src/ArduinoJson/Array/JsonArray.hpp @@ -43,16 +43,18 @@ class JsonArray : public detail::VariantOperators { // Appends a new (empty) element to the array. // Returns a reference to the new element. // https://arduinojson.org/v7/api/jsonarray/add/ - template - detail::enable_if_t::value, T> add() const { + template ::value, int> = 0> + T add() const { return add().to(); } // Appends a new (null) element to the array. // Returns a reference to the new element. // https://arduinojson.org/v7/api/jsonarray/add/ - template - detail::enable_if_t::value, T> add() const { + template ::value, int> = 0> + JsonVariant add() const { return JsonVariant(detail::ArrayData::addElement(data_, resources_), resources_); } @@ -66,7 +68,8 @@ class JsonArray : public detail::VariantOperators { // Appends a value to the array. // https://arduinojson.org/v7/api/jsonarray/add/ - template + template ::value, int> = 0> bool add(T* value) const { return detail::ArrayData::addValue(data_, value, resources_); } @@ -114,9 +117,9 @@ class JsonArray : public detail::VariantOperators { // Removes the element at the specified index. // https://arduinojson.org/v7/api/jsonarray/remove/ - template - detail::enable_if_t::value> remove( - TVariant variant) const { + template ::value, int> = 0> + void remove(const TVariant& variant) const { if (variant.template is()) remove(variant.template as()); } @@ -129,21 +132,19 @@ class JsonArray : public detail::VariantOperators { // Gets or sets the element at the specified index. // https://arduinojson.org/v7/api/jsonarray/subscript/ - template - detail::enable_if_t::value, - detail::ElementProxy> - operator[](T index) const { + template ::value, int> = 0> + detail::ElementProxy operator[](T index) const { return {*this, size_t(index)}; } // Gets or sets the element at the specified index. // https://arduinojson.org/v7/api/jsonarray/subscript/ - template - detail::enable_if_t::value, - detail::ElementProxy> - operator[](const TVariant& variant) const { + template ::value, int> = 0> + detail::ElementProxy operator[](const TVariant& variant) const { if (variant.template is()) - return operator[](variant.template as()); + return {*this, variant.template as()}; else return {*this, size_t(-1)}; } diff --git a/.pio/libdeps/watchwinder_1/ArduinoJson/src/ArduinoJson/Array/JsonArrayConst.hpp b/.pio/libdeps/watchwinder_1/ArduinoJson/src/ArduinoJson/Array/JsonArrayConst.hpp index 6b9db19..b053518 100644 --- a/.pio/libdeps/watchwinder_1/ArduinoJson/src/ArduinoJson/Array/JsonArrayConst.hpp +++ b/.pio/libdeps/watchwinder_1/ArduinoJson/src/ArduinoJson/Array/JsonArrayConst.hpp @@ -45,9 +45,9 @@ class JsonArrayConst : public detail::VariantOperators { // Returns the element at the specified index. // https://arduinojson.org/v7/api/jsonarrayconst/subscript/ - template - detail::enable_if_t::value, JsonVariantConst> - operator[](T index) const { + template ::value, int> = 0> + JsonVariantConst operator[](T index) const { return JsonVariantConst( detail::ArrayData::getElement(data_, size_t(index), resources_), resources_); @@ -55,9 +55,9 @@ class JsonArrayConst : public detail::VariantOperators { // Returns the element at the specified index. // https://arduinojson.org/v7/api/jsonarrayconst/subscript/ - template - detail::enable_if_t::value, JsonVariantConst> - operator[](const TVariant& variant) const { + template ::value, int> = 0> + JsonVariantConst operator[](const TVariant& variant) const { if (variant.template is()) return operator[](variant.template as()); else diff --git a/.pio/libdeps/watchwinder_1/ArduinoJson/src/ArduinoJson/Array/Utilities.hpp b/.pio/libdeps/watchwinder_1/ArduinoJson/src/ArduinoJson/Array/Utilities.hpp index 9073468..200cb66 100644 --- a/.pio/libdeps/watchwinder_1/ArduinoJson/src/ArduinoJson/Array/Utilities.hpp +++ b/.pio/libdeps/watchwinder_1/ArduinoJson/src/ArduinoJson/Array/Utilities.hpp @@ -11,27 +11,26 @@ ARDUINOJSON_BEGIN_PUBLIC_NAMESPACE // Copies a value to a JsonVariant. // This is a degenerated form of copyArray() to stop the recursion. -template -inline detail::enable_if_t::value, bool> copyArray( - const T& src, JsonVariant dst) { +template ::value, int> = 0> +inline bool copyArray(const T& src, JsonVariant dst) { return dst.set(src); } // Copies values from an array to a JsonArray or a JsonVariant. // https://arduinojson.org/v7/api/misc/copyarray/ -template -inline detail::enable_if_t< - !detail::is_base_of::value, bool> -copyArray(T (&src)[N], const TDestination& dst) { +template ::value, int> = 0> +inline bool copyArray(T (&src)[N], const TDestination& dst) { return copyArray(src, N, dst); } // Copies values from an array to a JsonArray or a JsonVariant. // https://arduinojson.org/v7/api/misc/copyarray/ -template -inline detail::enable_if_t< - !detail::is_base_of::value, bool> -copyArray(const T* src, size_t len, const TDestination& dst) { +template ::value, int> = 0> +inline bool copyArray(const T* src, size_t len, const TDestination& dst) { bool ok = true; for (size_t i = 0; i < len; i++) { ok &= copyArray(src[i], dst.template add()); @@ -62,9 +61,8 @@ inline bool copyArray(const T* src, size_t len, JsonDocument& dst) { // Copies a value from a JsonVariant. // This is a degenerated form of copyArray() to stop the recursion. -template -inline detail::enable_if_t::value, size_t> copyArray( - JsonVariantConst src, T& dst) { +template ::value, int> = 0> +inline size_t copyArray(JsonVariantConst src, T& dst) { dst = src.as(); return 1; } @@ -102,11 +100,12 @@ inline size_t copyArray(JsonVariantConst src, char (&dst)[N]) { // Copies values from a JsonDocument to an array. // https://arduinojson.org/v7/api/misc/copyarray/ -template -inline detail::enable_if_t::value && - detail::is_base_of::value, - size_t> -copyArray(const TSource& src, T& dst) { +template < + typename TSource, typename T, + detail::enable_if_t::value && + detail::is_base_of::value, + int> = 0> +inline size_t copyArray(const TSource& src, T& dst) { return copyArray(src.template as(), dst); } diff --git a/.pio/libdeps/watchwinder_1/ArduinoJson/src/ArduinoJson/Deserialization/Reader.hpp b/.pio/libdeps/watchwinder_1/ArduinoJson/src/ArduinoJson/Deserialization/Reader.hpp index fed87b3..e728047 100644 --- a/.pio/libdeps/watchwinder_1/ArduinoJson/src/ArduinoJson/Deserialization/Reader.hpp +++ b/.pio/libdeps/watchwinder_1/ArduinoJson/src/ArduinoJson/Deserialization/Reader.hpp @@ -11,7 +11,7 @@ ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE -// The default reader is a simple wrapper for Readers that are not copiable +// The default reader is a simple wrapper for Readers that are not copyable template struct Reader { public: diff --git a/.pio/libdeps/watchwinder_1/ArduinoJson/src/ArduinoJson/Deserialization/deserialize.hpp b/.pio/libdeps/watchwinder_1/ArduinoJson/src/ArduinoJson/Deserialization/deserialize.hpp index a95049a..c1963a8 100644 --- a/.pio/libdeps/watchwinder_1/ArduinoJson/src/ArduinoJson/Deserialization/deserialize.hpp +++ b/.pio/libdeps/watchwinder_1/ArduinoJson/src/ArduinoJson/Deserialization/deserialize.hpp @@ -55,10 +55,11 @@ DeserializationError doDeserialize(TDestination&& dst, TReader reader, return err; } -template