diff --git a/src/ArduinoJson/Serialization/measure.hpp b/src/ArduinoJson/Serialization/measure.hpp index 5a71e104..af0045fa 100644 --- a/src/ArduinoJson/Serialization/measure.hpp +++ b/src/ArduinoJson/Serialization/measure.hpp @@ -5,7 +5,6 @@ #pragma once #include -#include ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE diff --git a/src/ArduinoJson/Serialization/serialize.hpp b/src/ArduinoJson/Serialization/serialize.hpp index 1014a7d6..f9429b14 100644 --- a/src/ArduinoJson/Serialization/serialize.hpp +++ b/src/ArduinoJson/Serialization/serialize.hpp @@ -5,7 +5,6 @@ #pragma once #include -#include ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE diff --git a/src/ArduinoJson/Variant/ConverterImpl.hpp b/src/ArduinoJson/Variant/ConverterImpl.hpp index 7845767e..f5ad1dbf 100644 --- a/src/ArduinoJson/Variant/ConverterImpl.hpp +++ b/src/ArduinoJson/Variant/ConverterImpl.hpp @@ -7,7 +7,6 @@ #include #include #include -#include ARDUINOJSON_BEGIN_PUBLIC_NAMESPACE diff --git a/src/ArduinoJson/Variant/JsonVariantConst.hpp b/src/ArduinoJson/Variant/JsonVariantConst.hpp index 606df083..b4fa100f 100644 --- a/src/ArduinoJson/Variant/JsonVariantConst.hpp +++ b/src/ArduinoJson/Variant/JsonVariantConst.hpp @@ -12,7 +12,6 @@ #include #include #include -#include #include #include diff --git a/src/ArduinoJson/Variant/VariantData.hpp b/src/ArduinoJson/Variant/VariantData.hpp index 5429cb88..85c960da 100644 --- a/src/ArduinoJson/Variant/VariantData.hpp +++ b/src/ArduinoJson/Variant/VariantData.hpp @@ -487,4 +487,137 @@ class VariantData { } }; +template +typename TVisitor::result_type variantAccept(const VariantData* var, + TVisitor& visitor) { + if (var != 0) + return var->accept(visitor); + else + return visitor.visitNull(); +} + +inline bool variantCopyFrom(VariantData* dst, const VariantData* src, + MemoryPool* pool) { + if (!dst) + return false; + return dst->copyFrom(src, pool); +} + +inline VariantData* variantAddElement(VariantData* var, MemoryPool* pool) { + if (!var) + return nullptr; + return var->addElement(pool); +} + +inline VariantData* variantGetElement(const VariantData* var, size_t index) { + return var != 0 ? var->getElement(index) : 0; +} + +template +VariantData* variantGetMember(const VariantData* var, TAdaptedString key) { + if (!var) + return 0; + return var->getMember(key); +} + +inline VariantData* variantGetOrAddElement(VariantData* var, size_t index, + MemoryPool* pool) { + if (!var) + return nullptr; + return var->getOrAddElement(index, pool); +} + +template +VariantData* variantGetOrAddMember(VariantData* var, TAdaptedString key, + MemoryPool* pool) { + if (!var) + return nullptr; + return var->getOrAddMember(key, pool); +} + +inline bool variantIsNull(const VariantData* var) { + if (!var) + return true; + return var->isNull(); +} + +inline size_t variantNesting(const VariantData* var) { + if (!var) + return 0; + return var->nesting(); +} + +inline void variantRemoveElement(VariantData* var, size_t index, + MemoryPool* pool) { + if (!var) + return; + var->removeElement(index, pool); +} + +template +void variantRemoveMember(VariantData* var, TAdaptedString key, + MemoryPool* pool) { + if (!var) + return; + var->removeMember(key, pool); +} + +inline void variantSetBoolean(VariantData* var, bool value, MemoryPool* pool) { + if (!var) + return; + var->setBoolean(value, pool); +} + +inline void variantSetFloat(VariantData* var, JsonFloat value, + MemoryPool* pool) { + if (!var) + return; + var->setFloat(value, pool); +} + +template +void variantSetInteger(VariantData* var, T value, MemoryPool* pool) { + if (!var) + return; + var->setInteger(value, pool); +} + +inline void variantSetNull(VariantData* var, MemoryPool* pool) { + if (!var) + return; + var->setNull(pool); +} + +template +void variantSetRawString(VariantData* var, SerializedValue value, + MemoryPool* pool) { + if (!var) + return; + var->setRawString(value, pool); +} + +template +void variantSetString(VariantData* var, TAdaptedString value, + MemoryPool* pool) { + if (!var) + return; + var->setString(value, pool); +} + +inline size_t variantSize(const VariantData* var) { + return var != 0 ? var->size() : 0; +} + +inline CollectionData* variantToArray(VariantData* var, MemoryPool* pool) { + if (!var) + return 0; + return &var->toArray(pool); +} + +inline CollectionData* variantToObject(VariantData* var, MemoryPool* pool) { + if (!var) + return 0; + return &var->toObject(pool); +} + ARDUINOJSON_END_PRIVATE_NAMESPACE diff --git a/src/ArduinoJson/Variant/VariantFunctions.hpp b/src/ArduinoJson/Variant/VariantFunctions.hpp deleted file mode 100644 index f2b2bdf8..00000000 --- a/src/ArduinoJson/Variant/VariantFunctions.hpp +++ /dev/null @@ -1,146 +0,0 @@ -// ArduinoJson - https://arduinojson.org -// Copyright © 2014-2023, Benoit BLANCHON -// MIT License - -#pragma once - -#include -#include -#include -#include - -ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE - -template -inline typename TVisitor::result_type variantAccept(const VariantData* var, - TVisitor& visitor) { - if (var != 0) - return var->accept(visitor); - else - return visitor.visitNull(); -} - -inline bool variantCopyFrom(VariantData* dst, const VariantData* src, - MemoryPool* pool) { - if (!dst) - return false; - return dst->copyFrom(src, pool); -} - -inline void variantSetNull(VariantData* var, MemoryPool* pool) { - if (!var) - return; - var->setNull(pool); -} - -inline void variantSetBoolean(VariantData* var, bool value, MemoryPool* pool) { - if (!var) - return; - var->setBoolean(value, pool); -} - -inline void variantSetFloat(VariantData* var, JsonFloat value, - MemoryPool* pool) { - if (!var) - return; - var->setFloat(value, pool); -} - -template -inline void variantSetInteger(VariantData* var, T value, MemoryPool* pool) { - if (!var) - return; - var->setInteger(value, pool); -} - -template -inline void variantSetString(VariantData* var, TAdaptedString value, - MemoryPool* pool) { - if (!var) - return; - var->setString(value, pool); -} - -template -inline void variantSetRawString(VariantData* var, SerializedValue value, - MemoryPool* pool) { - if (!var) - return; - var->setRawString(value, pool); -} - -inline size_t variantSize(const VariantData* var) { - return var != 0 ? var->size() : 0; -} - -inline CollectionData* variantToArray(VariantData* var, MemoryPool* pool) { - if (!var) - return 0; - return &var->toArray(pool); -} - -inline CollectionData* variantToObject(VariantData* var, MemoryPool* pool) { - if (!var) - return 0; - return &var->toObject(pool); -} - -inline VariantData* variantGetElement(const VariantData* var, size_t index) { - return var != 0 ? var->getElement(index) : 0; -} - -inline VariantData* variantAddElement(VariantData* var, MemoryPool* pool) { - if (!var) - return nullptr; - return var->addElement(pool); -} - -inline NO_INLINE VariantData* variantGetOrAddElement(VariantData* var, - size_t index, - MemoryPool* pool) { - if (!var) - return nullptr; - return var->getOrAddElement(index, pool); -} - -inline void variantRemoveElement(VariantData* var, size_t index, - MemoryPool* pool) { - if (!var) - return; - var->removeElement(index, pool); -} - -template -VariantData* variantGetMember(const VariantData* var, TAdaptedString key) { - if (!var) - return 0; - return var->getMember(key); -} - -template -VariantData* variantGetOrAddMember(VariantData* var, TAdaptedString key, - MemoryPool* pool) { - if (!var) - return nullptr; - return var->getOrAddMember(key, pool); -} - -template -void variantRemoveMember(VariantData* var, TAdaptedString key, - MemoryPool* pool) { - if (!var) - return; - var->removeMember(key, pool); -} - -inline bool variantIsNull(const VariantData* var) { - return var == 0 || var->isNull(); -} - -inline size_t variantNesting(const VariantData* var) { - if (!var) - return 0; - return var->nesting(); -} - -ARDUINOJSON_END_PRIVATE_NAMESPACE