mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 08:42:39 +01:00 
			
		
		
		
	Rename VariantRef to JsonVariant
				
					
				
			This commit is contained in:
		| @@ -91,7 +91,7 @@ class Complex { | |||||||
| namespace ARDUINOJSON_NAMESPACE { | namespace ARDUINOJSON_NAMESPACE { | ||||||
| template <> | template <> | ||||||
| struct Converter<Complex> { | struct Converter<Complex> { | ||||||
|   static void toJson(const Complex& src, VariantRef dst) { |   static void toJson(const Complex& src, JsonVariant dst) { | ||||||
|     dst["real"] = src.real(); |     dst["real"] = src.real(); | ||||||
|     dst["imag"] = src.imag(); |     dst["imag"] = src.imag(); | ||||||
|   } |   } | ||||||
|   | |||||||
| @@ -181,7 +181,7 @@ TEST_CASE("Polyfills/type_traits") { | |||||||
|     CHECK((is_convertible<DeserializationError, JsonVariantConst>::value == |     CHECK((is_convertible<DeserializationError, JsonVariantConst>::value == | ||||||
|            false)); |            false)); | ||||||
|     CHECK((is_convertible<JsonPair, JsonVariantConst>::value == false)); |     CHECK((is_convertible<JsonPair, JsonVariantConst>::value == false)); | ||||||
|     CHECK((is_convertible<VariantRef, JsonVariantConst>::value == true)); |     CHECK((is_convertible<JsonVariant, JsonVariantConst>::value == true)); | ||||||
|     CHECK((is_convertible<JsonVariantConst, JsonVariantConst>::value == true)); |     CHECK((is_convertible<JsonVariantConst, JsonVariantConst>::value == true)); | ||||||
|     CHECK((is_convertible<JsonArray, JsonVariantConst>::value == true)); |     CHECK((is_convertible<JsonArray, JsonVariantConst>::value == true)); | ||||||
|     CHECK((is_convertible<ElementProxy<JsonArray>, JsonVariantConst>::value == |     CHECK((is_convertible<ElementProxy<JsonArray>, JsonVariantConst>::value == | ||||||
|   | |||||||
| @@ -47,8 +47,15 @@ | |||||||
| #include "ArduinoJson/compatibility.hpp" | #include "ArduinoJson/compatibility.hpp" | ||||||
|  |  | ||||||
| namespace ArduinoJson { | namespace ArduinoJson { | ||||||
|  | using ARDUINOJSON_NAMESPACE::BasicJsonDocument; | ||||||
|  | using ARDUINOJSON_NAMESPACE::copyArray; | ||||||
|  | using ARDUINOJSON_NAMESPACE::DeserializationError; | ||||||
|  | using ARDUINOJSON_NAMESPACE::deserializeJson; | ||||||
|  | using ARDUINOJSON_NAMESPACE::deserializeMsgPack; | ||||||
|  | using ARDUINOJSON_NAMESPACE::DynamicJsonDocument; | ||||||
| using ARDUINOJSON_NAMESPACE::JsonArray; | using ARDUINOJSON_NAMESPACE::JsonArray; | ||||||
| using ARDUINOJSON_NAMESPACE::JsonArrayConst; | using ARDUINOJSON_NAMESPACE::JsonArrayConst; | ||||||
|  | using ARDUINOJSON_NAMESPACE::JsonDocument; | ||||||
| using ARDUINOJSON_NAMESPACE::JsonFloat; | using ARDUINOJSON_NAMESPACE::JsonFloat; | ||||||
| using ARDUINOJSON_NAMESPACE::JsonInteger; | using ARDUINOJSON_NAMESPACE::JsonInteger; | ||||||
| using ARDUINOJSON_NAMESPACE::JsonObject; | using ARDUINOJSON_NAMESPACE::JsonObject; | ||||||
| @@ -57,15 +64,8 @@ using ARDUINOJSON_NAMESPACE::JsonPair; | |||||||
| using ARDUINOJSON_NAMESPACE::JsonPairConst; | using ARDUINOJSON_NAMESPACE::JsonPairConst; | ||||||
| using ARDUINOJSON_NAMESPACE::JsonString; | using ARDUINOJSON_NAMESPACE::JsonString; | ||||||
| using ARDUINOJSON_NAMESPACE::JsonUInt; | using ARDUINOJSON_NAMESPACE::JsonUInt; | ||||||
|  | using ARDUINOJSON_NAMESPACE::JsonVariant; | ||||||
| using ARDUINOJSON_NAMESPACE::JsonVariantConst; | using ARDUINOJSON_NAMESPACE::JsonVariantConst; | ||||||
| typedef ARDUINOJSON_NAMESPACE::VariantRef JsonVariant; |  | ||||||
| using ARDUINOJSON_NAMESPACE::BasicJsonDocument; |  | ||||||
| using ARDUINOJSON_NAMESPACE::copyArray; |  | ||||||
| using ARDUINOJSON_NAMESPACE::DeserializationError; |  | ||||||
| using ARDUINOJSON_NAMESPACE::deserializeJson; |  | ||||||
| using ARDUINOJSON_NAMESPACE::deserializeMsgPack; |  | ||||||
| using ARDUINOJSON_NAMESPACE::DynamicJsonDocument; |  | ||||||
| using ARDUINOJSON_NAMESPACE::JsonDocument; |  | ||||||
| using ARDUINOJSON_NAMESPACE::measureJson; | using ARDUINOJSON_NAMESPACE::measureJson; | ||||||
| using ARDUINOJSON_NAMESPACE::serialized; | using ARDUINOJSON_NAMESPACE::serialized; | ||||||
| using ARDUINOJSON_NAMESPACE::serializeJson; | using ARDUINOJSON_NAMESPACE::serializeJson; | ||||||
|   | |||||||
| @@ -21,19 +21,19 @@ class JsonArray : public VariantOperators<JsonArray> { | |||||||
|   FORCE_INLINE JsonArray(MemoryPool* pool, CollectionData* data) |   FORCE_INLINE JsonArray(MemoryPool* pool, CollectionData* data) | ||||||
|       : _data(data), _pool(pool) {} |       : _data(data), _pool(pool) {} | ||||||
|  |  | ||||||
|   operator VariantRef() { |   operator JsonVariant() { | ||||||
|     void* data = _data;  // prevent warning cast-align |     void* data = _data;  // prevent warning cast-align | ||||||
|     return VariantRef(_pool, reinterpret_cast<VariantData*>(data)); |     return JsonVariant(_pool, reinterpret_cast<VariantData*>(data)); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   operator JsonArrayConst() const { |   operator JsonArrayConst() const { | ||||||
|     return JsonArrayConst(_data); |     return JsonArrayConst(_data); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   VariantRef add() const { |   JsonVariant add() const { | ||||||
|     if (!_data) |     if (!_data) | ||||||
|       return VariantRef(); |       return JsonVariant(); | ||||||
|     return VariantRef(_pool, _data->addElement(_pool)); |     return JsonVariant(_pool, _data->addElement(_pool)); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   template <typename T> |   template <typename T> | ||||||
| @@ -141,11 +141,11 @@ class JsonArray : public VariantOperators<JsonArray> { | |||||||
|  |  | ||||||
| template <> | template <> | ||||||
| struct Converter<JsonArray> : private VariantAttorney { | struct Converter<JsonArray> : private VariantAttorney { | ||||||
|   static void toJson(JsonVariantConst src, VariantRef dst) { |   static void toJson(JsonVariantConst src, JsonVariant dst) { | ||||||
|     variantCopyFrom(getData(dst), getData(src), getPool(dst)); |     variantCopyFrom(getData(dst), getData(src), getPool(dst)); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   static JsonArray fromJson(VariantRef src) { |   static JsonArray fromJson(JsonVariant src) { | ||||||
|     VariantData* data = getData(src); |     VariantData* data = getData(src); | ||||||
|     MemoryPool* pool = getPool(src); |     MemoryPool* pool = getPool(src); | ||||||
|     return JsonArray(pool, data != 0 ? data->asArray() : 0); |     return JsonArray(pool, data != 0 ? data->asArray() : 0); | ||||||
| @@ -158,7 +158,7 @@ struct Converter<JsonArray> : private VariantAttorney { | |||||||
|     return false; |     return false; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   static bool checkJson(VariantRef src) { |   static bool checkJson(JsonVariant src) { | ||||||
|     VariantData* data = getData(src); |     VariantData* data = getData(src); | ||||||
|     return data && data->isArray(); |     return data && data->isArray(); | ||||||
|   } |   } | ||||||
|   | |||||||
| @@ -93,7 +93,7 @@ class JsonArrayConst : public VariantOperators<JsonArrayConst> { | |||||||
|  |  | ||||||
| template <> | template <> | ||||||
| struct Converter<JsonArrayConst> : private VariantAttorney { | struct Converter<JsonArrayConst> : private VariantAttorney { | ||||||
|   static void toJson(JsonVariantConst src, VariantRef dst) { |   static void toJson(JsonVariantConst src, JsonVariant dst) { | ||||||
|     variantCopyFrom(getData(dst), getData(src), getPool(dst)); |     variantCopyFrom(getData(dst), getData(src), getPool(dst)); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -4,8 +4,8 @@ | |||||||
|  |  | ||||||
| #pragma once | #pragma once | ||||||
|  |  | ||||||
|  | #include <ArduinoJson/Variant/JsonVariant.hpp> | ||||||
| #include <ArduinoJson/Variant/SlotFunctions.hpp> | #include <ArduinoJson/Variant/SlotFunctions.hpp> | ||||||
| #include <ArduinoJson/Variant/VariantRef.hpp> |  | ||||||
|  |  | ||||||
| namespace ARDUINOJSON_NAMESPACE { | namespace ARDUINOJSON_NAMESPACE { | ||||||
|  |  | ||||||
| @@ -13,16 +13,16 @@ class VariantPtr { | |||||||
|  public: |  public: | ||||||
|   VariantPtr(MemoryPool* pool, VariantData* data) : _variant(pool, data) {} |   VariantPtr(MemoryPool* pool, VariantData* data) : _variant(pool, data) {} | ||||||
|  |  | ||||||
|   VariantRef* operator->() { |   JsonVariant* operator->() { | ||||||
|     return &_variant; |     return &_variant; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   VariantRef& operator*() { |   JsonVariant& operator*() { | ||||||
|     return _variant; |     return _variant; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  private: |  private: | ||||||
|   VariantRef _variant; |   JsonVariant _variant; | ||||||
| }; | }; | ||||||
|  |  | ||||||
| class JsonArrayIterator { | class JsonArrayIterator { | ||||||
| @@ -33,8 +33,8 @@ class JsonArrayIterator { | |||||||
|   explicit JsonArrayIterator(MemoryPool* pool, VariantSlot* slot) |   explicit JsonArrayIterator(MemoryPool* pool, VariantSlot* slot) | ||||||
|       : _pool(pool), _slot(slot) {} |       : _pool(pool), _slot(slot) {} | ||||||
|  |  | ||||||
|   VariantRef operator*() const { |   JsonVariant operator*() const { | ||||||
|     return VariantRef(_pool, _slot->data()); |     return JsonVariant(_pool, _slot->data()); | ||||||
|   } |   } | ||||||
|   VariantPtr operator->() { |   VariantPtr operator->() { | ||||||
|     return VariantPtr(_pool, _slot->data()); |     return VariantPtr(_pool, _slot->data()); | ||||||
|   | |||||||
| @@ -12,7 +12,7 @@ namespace ARDUINOJSON_NAMESPACE { | |||||||
| // Trivial form to stop the recursion | // Trivial form to stop the recursion | ||||||
| template <typename T> | template <typename T> | ||||||
| inline typename enable_if<!is_array<T>::value, bool>::type copyArray( | inline typename enable_if<!is_array<T>::value, bool>::type copyArray( | ||||||
|     const T& src, VariantRef dst) { |     const T& src, JsonVariant dst) { | ||||||
|   return dst.set(src); |   return dst.set(src); | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -65,7 +65,7 @@ class BasicJsonDocument : AllocatorOwner<TAllocator>, public JsonDocument { | |||||||
|   BasicJsonDocument( |   BasicJsonDocument( | ||||||
|       const T& src, |       const T& src, | ||||||
|       typename enable_if< |       typename enable_if< | ||||||
|           is_same<T, VariantRef>::value || |           is_same<T, JsonVariant>::value || | ||||||
|           is_same<T, JsonVariantConst>::value || is_same<T, JsonArray>::value || |           is_same<T, JsonVariantConst>::value || is_same<T, JsonArray>::value || | ||||||
|           is_same<T, JsonArrayConst>::value || is_same<T, JsonObject>::value || |           is_same<T, JsonArrayConst>::value || is_same<T, JsonObject>::value || | ||||||
|           is_same<T, JsonObjectConst>::value>::type* = 0) |           is_same<T, JsonObjectConst>::value>::type* = 0) | ||||||
| @@ -74,7 +74,7 @@ class BasicJsonDocument : AllocatorOwner<TAllocator>, public JsonDocument { | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   // disambiguate |   // disambiguate | ||||||
|   BasicJsonDocument(VariantRef src) |   BasicJsonDocument(JsonVariant src) | ||||||
|       : JsonDocument(allocPool(src.memoryUsage())) { |       : JsonDocument(allocPool(src.memoryUsage())) { | ||||||
|     set(src); |     set(src); | ||||||
|   } |   } | ||||||
|   | |||||||
| @@ -68,13 +68,13 @@ class JsonDocument : public VariantOperators<const JsonDocument&> { | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   bool set(const JsonDocument& src) { |   bool set(const JsonDocument& src) { | ||||||
|     return to<VariantRef>().set(src.as<JsonVariantConst>()); |     return to<JsonVariant>().set(src.as<JsonVariantConst>()); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   template <typename T> |   template <typename T> | ||||||
|   typename enable_if<!is_base_of<JsonDocument, T>::value, bool>::type set( |   typename enable_if<!is_base_of<JsonDocument, T>::value, bool>::type set( | ||||||
|       const T& src) { |       const T& src) { | ||||||
|     return to<VariantRef>().set(src); |     return to<JsonVariant>().set(src); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   template <typename T> |   template <typename T> | ||||||
| @@ -182,8 +182,8 @@ class JsonDocument : public VariantOperators<const JsonDocument&> { | |||||||
|     return JsonVariantConst(_data.getElement(index)); |     return JsonVariantConst(_data.getElement(index)); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   FORCE_INLINE VariantRef add() { |   FORCE_INLINE JsonVariant add() { | ||||||
|     return VariantRef(&_pool, _data.addElement(&_pool)); |     return JsonVariant(&_pool, _data.addElement(&_pool)); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   template <typename TValue> |   template <typename TValue> | ||||||
| @@ -218,7 +218,7 @@ class JsonDocument : public VariantOperators<const JsonDocument&> { | |||||||
|     _data.remove(adaptString(key)); |     _data.remove(adaptString(key)); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   FORCE_INLINE operator VariantRef() { |   FORCE_INLINE operator JsonVariant() { | ||||||
|     return getVariant(); |     return getVariant(); | ||||||
|   } |   } | ||||||
|  |  | ||||||
| @@ -245,8 +245,8 @@ class JsonDocument : public VariantOperators<const JsonDocument&> { | |||||||
|     _pool = pool; |     _pool = pool; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   VariantRef getVariant() { |   JsonVariant getVariant() { | ||||||
|     return VariantRef(&_pool, &_data); |     return JsonVariant(&_pool, &_data); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   JsonVariantConst getVariant() const { |   JsonVariantConst getVariant() const { | ||||||
| @@ -278,7 +278,7 @@ class JsonDocument : public VariantOperators<const JsonDocument&> { | |||||||
|   } |   } | ||||||
| }; | }; | ||||||
|  |  | ||||||
| inline void convertToJson(const JsonDocument& src, VariantRef dst) { | inline void convertToJson(const JsonDocument& src, JsonVariant dst) { | ||||||
|   dst.set(src.as<JsonVariantConst>()); |   dst.set(src.as<JsonVariantConst>()); | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -30,7 +30,7 @@ class StaticJsonDocument : public JsonDocument { | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   // disambiguate |   // disambiguate | ||||||
|   StaticJsonDocument(VariantRef src) : JsonDocument(_buffer, _capacity) { |   StaticJsonDocument(JsonVariant src) : JsonDocument(_buffer, _capacity) { | ||||||
|     set(src); |     set(src); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -21,9 +21,9 @@ class JsonObject : public VariantOperators<JsonObject> { | |||||||
|   FORCE_INLINE JsonObject(MemoryPool* buf, CollectionData* data) |   FORCE_INLINE JsonObject(MemoryPool* buf, CollectionData* data) | ||||||
|       : _data(data), _pool(buf) {} |       : _data(data), _pool(buf) {} | ||||||
|  |  | ||||||
|   operator VariantRef() const { |   operator JsonVariant() const { | ||||||
|     void* data = _data;  // prevent warning cast-align |     void* data = _data;  // prevent warning cast-align | ||||||
|     return VariantRef(_pool, reinterpret_cast<VariantData*>(data)); |     return JsonVariant(_pool, reinterpret_cast<VariantData*>(data)); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   operator JsonObjectConst() const { |   operator JsonObjectConst() const { | ||||||
| @@ -176,11 +176,11 @@ class JsonObject : public VariantOperators<JsonObject> { | |||||||
|  |  | ||||||
| template <> | template <> | ||||||
| struct Converter<JsonObject> : private VariantAttorney { | struct Converter<JsonObject> : private VariantAttorney { | ||||||
|   static void toJson(JsonVariantConst src, VariantRef dst) { |   static void toJson(JsonVariantConst src, JsonVariant dst) { | ||||||
|     variantCopyFrom(getData(dst), getData(src), getPool(dst)); |     variantCopyFrom(getData(dst), getData(src), getPool(dst)); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   static JsonObject fromJson(VariantRef src) { |   static JsonObject fromJson(JsonVariant src) { | ||||||
|     VariantData* data = getData(src); |     VariantData* data = getData(src); | ||||||
|     MemoryPool* pool = getPool(src); |     MemoryPool* pool = getPool(src); | ||||||
|     return JsonObject(pool, data != 0 ? data->asObject() : 0); |     return JsonObject(pool, data != 0 ? data->asObject() : 0); | ||||||
| @@ -193,7 +193,7 @@ struct Converter<JsonObject> : private VariantAttorney { | |||||||
|     return false; |     return false; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   static bool checkJson(VariantRef src) { |   static bool checkJson(JsonVariant src) { | ||||||
|     VariantData* data = getData(src); |     VariantData* data = getData(src); | ||||||
|     return data && data->isObject(); |     return data && data->isObject(); | ||||||
|   } |   } | ||||||
|   | |||||||
| @@ -120,7 +120,7 @@ class JsonObjectConst : public VariantOperators<JsonObjectConst> { | |||||||
|  |  | ||||||
| template <> | template <> | ||||||
| struct Converter<JsonObjectConst> : private VariantAttorney { | struct Converter<JsonObjectConst> : private VariantAttorney { | ||||||
|   static void toJson(JsonVariantConst src, VariantRef dst) { |   static void toJson(JsonVariantConst src, JsonVariant dst) { | ||||||
|     variantCopyFrom(getData(dst), getData(src), getPool(dst)); |     variantCopyFrom(getData(dst), getData(src), getPool(dst)); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -5,8 +5,8 @@ | |||||||
| #pragma once | #pragma once | ||||||
|  |  | ||||||
| #include <ArduinoJson/Strings/JsonString.hpp> | #include <ArduinoJson/Strings/JsonString.hpp> | ||||||
|  | #include <ArduinoJson/Variant/JsonVariant.hpp> | ||||||
| #include <ArduinoJson/Variant/JsonVariantConst.hpp> | #include <ArduinoJson/Variant/JsonVariantConst.hpp> | ||||||
| #include <ArduinoJson/Variant/VariantRef.hpp> |  | ||||||
|  |  | ||||||
| namespace ARDUINOJSON_NAMESPACE { | namespace ARDUINOJSON_NAMESPACE { | ||||||
| // A key value pair for CollectionData. | // A key value pair for CollectionData. | ||||||
| @@ -16,7 +16,7 @@ class JsonPair { | |||||||
|     if (slot) { |     if (slot) { | ||||||
|       _key = JsonString(slot->key(), slot->ownsKey() ? JsonString::Copied |       _key = JsonString(slot->key(), slot->ownsKey() ? JsonString::Copied | ||||||
|                                                      : JsonString::Linked); |                                                      : JsonString::Linked); | ||||||
|       _value = VariantRef(pool, slot->data()); |       _value = JsonVariant(pool, slot->data()); | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  |  | ||||||
| @@ -24,13 +24,13 @@ class JsonPair { | |||||||
|     return _key; |     return _key; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   VariantRef value() const { |   JsonVariant value() const { | ||||||
|     return _value; |     return _value; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  private: |  private: | ||||||
|   JsonString _key; |   JsonString _key; | ||||||
|   VariantRef _value; |   JsonVariant _value; | ||||||
| }; | }; | ||||||
|  |  | ||||||
| class JsonPairConst { | class JsonPairConst { | ||||||
|   | |||||||
| @@ -12,7 +12,7 @@ namespace ARDUINOJSON_NAMESPACE { | |||||||
|  |  | ||||||
| template <typename T, typename Enable> | template <typename T, typename Enable> | ||||||
| struct Converter { | struct Converter { | ||||||
|   static void toJson(const T& src, VariantRef dst) { |   static void toJson(const T& src, JsonVariant dst) { | ||||||
|     // clang-format off |     // clang-format off | ||||||
|     convertToJson(src, dst); // Error here? See https://arduinojson.org/v6/unsupported-set/ |     convertToJson(src, dst); // Error here? See https://arduinojson.org/v6/unsupported-set/ | ||||||
|     // clang-format on |     // clang-format on | ||||||
| @@ -39,7 +39,7 @@ struct Converter< | |||||||
|     T, typename enable_if<is_integral<T>::value && !is_same<bool, T>::value && |     T, typename enable_if<is_integral<T>::value && !is_same<bool, T>::value && | ||||||
|                           !is_same<char, T>::value>::type> |                           !is_same<char, T>::value>::type> | ||||||
|     : private VariantAttorney { |     : private VariantAttorney { | ||||||
|   static void toJson(T src, VariantRef dst) { |   static void toJson(T src, JsonVariant dst) { | ||||||
|     VariantData* data = getData(dst); |     VariantData* data = getData(dst); | ||||||
|     ARDUINOJSON_ASSERT_INTEGER_TYPE_IS_SUPPORTED(T); |     ARDUINOJSON_ASSERT_INTEGER_TYPE_IS_SUPPORTED(T); | ||||||
|     if (data) |     if (data) | ||||||
| @@ -61,7 +61,7 @@ struct Converter< | |||||||
| template <typename T> | template <typename T> | ||||||
| struct Converter<T, typename enable_if<is_enum<T>::value>::type> | struct Converter<T, typename enable_if<is_enum<T>::value>::type> | ||||||
|     : private VariantAttorney { |     : private VariantAttorney { | ||||||
|   static void toJson(T src, VariantRef dst) { |   static void toJson(T src, JsonVariant dst) { | ||||||
|     dst.set(static_cast<JsonInteger>(src)); |     dst.set(static_cast<JsonInteger>(src)); | ||||||
|   } |   } | ||||||
|  |  | ||||||
| @@ -78,7 +78,7 @@ struct Converter<T, typename enable_if<is_enum<T>::value>::type> | |||||||
|  |  | ||||||
| template <> | template <> | ||||||
| struct Converter<bool> : private VariantAttorney { | struct Converter<bool> : private VariantAttorney { | ||||||
|   static void toJson(bool src, VariantRef dst) { |   static void toJson(bool src, JsonVariant dst) { | ||||||
|     VariantData* data = getData(dst); |     VariantData* data = getData(dst); | ||||||
|     if (data) |     if (data) | ||||||
|       data->setBoolean(src); |       data->setBoolean(src); | ||||||
| @@ -98,7 +98,7 @@ struct Converter<bool> : private VariantAttorney { | |||||||
| template <typename T> | template <typename T> | ||||||
| struct Converter<T, typename enable_if<is_floating_point<T>::value>::type> | struct Converter<T, typename enable_if<is_floating_point<T>::value>::type> | ||||||
|     : private VariantAttorney { |     : private VariantAttorney { | ||||||
|   static void toJson(T src, VariantRef dst) { |   static void toJson(T src, JsonVariant dst) { | ||||||
|     VariantData* data = getData(dst); |     VariantData* data = getData(dst); | ||||||
|     if (data) |     if (data) | ||||||
|       data->setFloat(static_cast<JsonFloat>(src)); |       data->setFloat(static_cast<JsonFloat>(src)); | ||||||
| @@ -117,7 +117,7 @@ struct Converter<T, typename enable_if<is_floating_point<T>::value>::type> | |||||||
|  |  | ||||||
| template <> | template <> | ||||||
| struct Converter<const char*> : private VariantAttorney { | struct Converter<const char*> : private VariantAttorney { | ||||||
|   static void toJson(const char* src, VariantRef dst) { |   static void toJson(const char* src, JsonVariant dst) { | ||||||
|     variantSetString(getData(dst), adaptString(src), getPool(dst)); |     variantSetString(getData(dst), adaptString(src), getPool(dst)); | ||||||
|   } |   } | ||||||
|  |  | ||||||
| @@ -134,7 +134,7 @@ struct Converter<const char*> : private VariantAttorney { | |||||||
|  |  | ||||||
| template <> | template <> | ||||||
| struct Converter<JsonString> : private VariantAttorney { | struct Converter<JsonString> : private VariantAttorney { | ||||||
|   static void toJson(JsonString src, VariantRef dst) { |   static void toJson(JsonString src, JsonVariant dst) { | ||||||
|     variantSetString(getData(dst), adaptString(src), getPool(dst)); |     variantSetString(getData(dst), adaptString(src), getPool(dst)); | ||||||
|   } |   } | ||||||
|  |  | ||||||
| @@ -151,7 +151,7 @@ struct Converter<JsonString> : private VariantAttorney { | |||||||
|  |  | ||||||
| template <typename T> | template <typename T> | ||||||
| inline typename enable_if<IsString<T>::value, bool>::type convertToJson( | inline typename enable_if<IsString<T>::value, bool>::type convertToJson( | ||||||
|     const T& src, VariantRef dst) { |     const T& src, JsonVariant dst) { | ||||||
|   VariantData* data = VariantAttorney::getData(dst); |   VariantData* data = VariantAttorney::getData(dst); | ||||||
|   MemoryPool* pool = VariantAttorney::getPool(dst); |   MemoryPool* pool = VariantAttorney::getPool(dst); | ||||||
|   return variantSetString(data, adaptString(src), pool); |   return variantSetString(data, adaptString(src), pool); | ||||||
| @@ -159,7 +159,7 @@ inline typename enable_if<IsString<T>::value, bool>::type convertToJson( | |||||||
|  |  | ||||||
| template <> | template <> | ||||||
| struct Converter<SerializedValue<const char*> > { | struct Converter<SerializedValue<const char*> > { | ||||||
|   static void toJson(SerializedValue<const char*> src, VariantRef dst) { |   static void toJson(SerializedValue<const char*> src, JsonVariant dst) { | ||||||
|     VariantData* data = VariantAttorney::getData(dst); |     VariantData* data = VariantAttorney::getData(dst); | ||||||
|     if (data) |     if (data) | ||||||
|       data->setLinkedRaw(src); |       data->setLinkedRaw(src); | ||||||
| @@ -173,7 +173,7 @@ template <typename T> | |||||||
| struct Converter<SerializedValue<T>, | struct Converter<SerializedValue<T>, | ||||||
|                  typename enable_if<!is_same<const char*, T>::value>::type> |                  typename enable_if<!is_same<const char*, T>::value>::type> | ||||||
|     : private VariantAttorney { |     : private VariantAttorney { | ||||||
|   static void toJson(SerializedValue<T> src, VariantRef dst) { |   static void toJson(SerializedValue<T> src, JsonVariant dst) { | ||||||
|     VariantData* data = getData(dst); |     VariantData* data = getData(dst); | ||||||
|     MemoryPool* pool = getPool(dst); |     MemoryPool* pool = getPool(dst); | ||||||
|     if (data) |     if (data) | ||||||
| @@ -185,7 +185,7 @@ struct Converter<SerializedValue<T>, | |||||||
|  |  | ||||||
| template <> | template <> | ||||||
| struct Converter<decltype(nullptr)> : private VariantAttorney { | struct Converter<decltype(nullptr)> : private VariantAttorney { | ||||||
|   static void toJson(decltype(nullptr), VariantRef dst) { |   static void toJson(decltype(nullptr), JsonVariant dst) { | ||||||
|     variantSetNull(getData(dst)); |     variantSetNull(getData(dst)); | ||||||
|   } |   } | ||||||
|   static decltype(nullptr) fromJson(JsonVariantConst) { |   static decltype(nullptr) fromJson(JsonVariantConst) { | ||||||
| @@ -242,7 +242,7 @@ class MemoryPoolPrint : public Print { | |||||||
|   size_t _capacity; |   size_t _capacity; | ||||||
| }; | }; | ||||||
|  |  | ||||||
| inline void convertToJson(const ::Printable& src, VariantRef dst) { | inline void convertToJson(const ::Printable& src, JsonVariant dst) { | ||||||
|   MemoryPool* pool = VariantAttorney::getPool(dst); |   MemoryPool* pool = VariantAttorney::getPool(dst); | ||||||
|   VariantData* data = VariantAttorney::getData(dst); |   VariantData* data = VariantAttorney::getData(dst); | ||||||
|   if (!pool || !data) |   if (!pool || !data) | ||||||
| @@ -308,7 +308,7 @@ inline bool canConvertFromJson(JsonVariantConst src, const std::string_view&) { | |||||||
| template <typename T> | template <typename T> | ||||||
| struct ConverterNeedsWriteableRef { | struct ConverterNeedsWriteableRef { | ||||||
|  protected:  // <- to avoid GCC's "all member functions in class are private" |  protected:  // <- to avoid GCC's "all member functions in class are private" | ||||||
|   static int probe(T (*f)(VariantRef)); |   static int probe(T (*f)(JsonVariant)); | ||||||
|   static char probe(T (*f)(JsonVariantConst)); |   static char probe(T (*f)(JsonVariantConst)); | ||||||
|  |  | ||||||
|  public: |  public: | ||||||
|   | |||||||
| @@ -8,14 +8,14 @@ | |||||||
| 
 | 
 | ||||||
| namespace ARDUINOJSON_NAMESPACE { | namespace ARDUINOJSON_NAMESPACE { | ||||||
| 
 | 
 | ||||||
| class VariantRef : public VariantRefBase<VariantRef>, | class JsonVariant : public VariantRefBase<JsonVariant>, | ||||||
|                    public VariantOperators<VariantRef> { |                     public VariantOperators<JsonVariant> { | ||||||
|   friend class VariantAttorney; |   friend class VariantAttorney; | ||||||
| 
 | 
 | ||||||
|  public: |  public: | ||||||
|   VariantRef() : _data(0), _pool(0) {} |   JsonVariant() : _data(0), _pool(0) {} | ||||||
| 
 | 
 | ||||||
|   VariantRef(MemoryPool* pool, VariantData* data) : _data(data), _pool(pool) {} |   JsonVariant(MemoryPool* pool, VariantData* data) : _data(data), _pool(pool) {} | ||||||
| 
 | 
 | ||||||
|  private: |  private: | ||||||
|   FORCE_INLINE MemoryPool* getPool() const { |   FORCE_INLINE MemoryPool* getPool() const { | ||||||
| @@ -35,19 +35,19 @@ class VariantRef : public VariantRefBase<VariantRef>, | |||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| template <> | template <> | ||||||
| struct Converter<VariantRef> : private VariantAttorney { | struct Converter<JsonVariant> : private VariantAttorney { | ||||||
|   static void toJson(VariantRef src, VariantRef dst) { |   static void toJson(JsonVariant src, JsonVariant dst) { | ||||||
|     variantCopyFrom(getData(dst), getData(src), getPool(dst)); |     variantCopyFrom(getData(dst), getData(src), getPool(dst)); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   static VariantRef fromJson(VariantRef src) { |   static JsonVariant fromJson(JsonVariant src) { | ||||||
|     return src; |     return src; | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   static InvalidConversion<JsonVariantConst, VariantRef> fromJson( |   static InvalidConversion<JsonVariantConst, JsonVariant> fromJson( | ||||||
|       JsonVariantConst); |       JsonVariantConst); | ||||||
| 
 | 
 | ||||||
|   static bool checkJson(VariantRef src) { |   static bool checkJson(JsonVariant src) { | ||||||
|     VariantData* data = getData(src); |     VariantData* data = getData(src); | ||||||
|     return !!data; |     return !!data; | ||||||
|   } |   } | ||||||
| @@ -59,7 +59,7 @@ struct Converter<VariantRef> : private VariantAttorney { | |||||||
| 
 | 
 | ||||||
| template <> | template <> | ||||||
| struct Converter<JsonVariantConst> : private VariantAttorney { | struct Converter<JsonVariantConst> : private VariantAttorney { | ||||||
|   static void toJson(JsonVariantConst src, VariantRef dst) { |   static void toJson(JsonVariantConst src, JsonVariant dst) { | ||||||
|     variantCopyFrom(getData(dst), getData(src), getPool(dst)); |     variantCopyFrom(getData(dst), getData(src), getPool(dst)); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
| @@ -9,7 +9,7 @@ | |||||||
| #include <ArduinoJson/Numbers/convertNumber.hpp> | #include <ArduinoJson/Numbers/convertNumber.hpp> | ||||||
| #include <ArduinoJson/Numbers/parseNumber.hpp> | #include <ArduinoJson/Numbers/parseNumber.hpp> | ||||||
| #include <ArduinoJson/Object/JsonObject.hpp> | #include <ArduinoJson/Object/JsonObject.hpp> | ||||||
| #include <ArduinoJson/Variant/VariantRef.hpp> | #include <ArduinoJson/Variant/JsonVariant.hpp> | ||||||
|  |  | ||||||
| #include <string.h>  // for strcmp | #include <string.h>  // for strcmp | ||||||
|  |  | ||||||
| @@ -105,18 +105,19 @@ inline bool VariantData::copyFrom(const VariantData& src, MemoryPool* pool) { | |||||||
| } | } | ||||||
|  |  | ||||||
| template <typename TDerived> | template <typename TDerived> | ||||||
| inline VariantRef VariantRefBase<TDerived>::add() const { | inline JsonVariant VariantRefBase<TDerived>::add() const { | ||||||
|   return VariantRef(getPool(), variantAddElement(getOrCreateData(), getPool())); |   return JsonVariant(getPool(), | ||||||
|  |                      variantAddElement(getOrCreateData(), getPool())); | ||||||
| } | } | ||||||
|  |  | ||||||
| template <typename TDerived> | template <typename TDerived> | ||||||
| inline VariantRef VariantRefBase<TDerived>::getVariant() const { | inline JsonVariant VariantRefBase<TDerived>::getVariant() const { | ||||||
|   return VariantRef(getPool(), getData()); |   return JsonVariant(getPool(), getData()); | ||||||
| } | } | ||||||
|  |  | ||||||
| template <typename TDerived> | template <typename TDerived> | ||||||
| inline VariantRef VariantRefBase<TDerived>::getOrCreateVariant() const { | inline JsonVariant VariantRefBase<TDerived>::getOrCreateVariant() const { | ||||||
|   return VariantRef(getPool(), getOrCreateData()); |   return JsonVariant(getPool(), getOrCreateData()); | ||||||
| } | } | ||||||
|  |  | ||||||
| template <typename TDerived> | template <typename TDerived> | ||||||
| @@ -135,7 +136,7 @@ VariantRefBase<TDerived>::to() const { | |||||||
|  |  | ||||||
| template <typename TDerived> | template <typename TDerived> | ||||||
| template <typename T> | template <typename T> | ||||||
| typename enable_if<is_same<T, VariantRef>::value, VariantRef>::type | typename enable_if<is_same<T, JsonVariant>::value, JsonVariant>::type | ||||||
| VariantRefBase<TDerived>::to() const { | VariantRefBase<TDerived>::to() const { | ||||||
|   variantSetNull(getOrCreateData()); |   variantSetNull(getOrCreateData()); | ||||||
|   return *this; |   return *this; | ||||||
| @@ -148,7 +149,8 @@ inline bool VariantRefBase<TDerived>::set(char value) const { | |||||||
| } | } | ||||||
|  |  | ||||||
| template <typename TDerived> | template <typename TDerived> | ||||||
| inline void convertToJson(const VariantRefBase<TDerived>& src, VariantRef dst) { | inline void convertToJson(const VariantRefBase<TDerived>& src, | ||||||
|  |                           JsonVariant dst) { | ||||||
|   dst.set(src.template as<JsonVariantConst>()); |   dst.set(src.template as<JsonVariantConst>()); | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -21,7 +21,7 @@ struct VariantOperatorTag {}; | |||||||
|  |  | ||||||
| template <typename TVariant> | template <typename TVariant> | ||||||
| struct VariantOperators : VariantOperatorTag { | struct VariantOperators : VariantOperatorTag { | ||||||
|   // Returns the default value if the VariantRef is unbound or incompatible |   // Returns the default value if the JsonVariant is unbound or incompatible | ||||||
|   // |   // | ||||||
|   // int operator|(JsonVariant, int) |   // int operator|(JsonVariant, int) | ||||||
|   // float operator|(JsonVariant, float) |   // float operator|(JsonVariant, float) | ||||||
|   | |||||||
| @@ -12,7 +12,7 @@ | |||||||
|  |  | ||||||
| namespace ARDUINOJSON_NAMESPACE { | namespace ARDUINOJSON_NAMESPACE { | ||||||
|  |  | ||||||
| class VariantRef; | class JsonVariant; | ||||||
|  |  | ||||||
| template <typename> | template <typename> | ||||||
| class ElementProxy; | class ElementProxy; | ||||||
| @@ -83,9 +83,9 @@ class VariantRefBase : public VariantTag { | |||||||
|   typename enable_if<is_same<T, JsonObject>::value, JsonObject>::type to() |   typename enable_if<is_same<T, JsonObject>::value, JsonObject>::type to() | ||||||
|       const; |       const; | ||||||
|   // |   // | ||||||
|   // VariantRef to<VariantRef>() |   // JsonVariant to<JsonVariant>() | ||||||
|   template <typename T> |   template <typename T> | ||||||
|   typename enable_if<is_same<T, VariantRef>::value, VariantRef>::type to() |   typename enable_if<is_same<T, JsonVariant>::value, JsonVariant>::type to() | ||||||
|       const; |       const; | ||||||
|  |  | ||||||
|   template <typename T> |   template <typename T> | ||||||
| @@ -161,7 +161,7 @@ class VariantRefBase : public VariantTag { | |||||||
|     return variantNesting(getData()); |     return variantNesting(getData()); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   FORCE_INLINE VariantRef add() const; |   FORCE_INLINE JsonVariant add() const; | ||||||
|  |  | ||||||
|   template <typename T> |   template <typename T> | ||||||
|   FORCE_INLINE bool add(const T& value) const { |   FORCE_INLINE bool add(const T& value) const { | ||||||
| @@ -256,13 +256,13 @@ class VariantRefBase : public VariantTag { | |||||||
|   } |   } | ||||||
|  |  | ||||||
|  private: |  private: | ||||||
|   FORCE_INLINE VariantRef getVariant() const; |   FORCE_INLINE JsonVariant getVariant() const; | ||||||
|  |  | ||||||
|   FORCE_INLINE JsonVariantConst getVariantConst() const { |   FORCE_INLINE JsonVariantConst getVariantConst() const { | ||||||
|     return JsonVariantConst(getData()); |     return JsonVariantConst(getData()); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   FORCE_INLINE VariantRef getOrCreateVariant() const; |   FORCE_INLINE JsonVariant getOrCreateVariant() const; | ||||||
| }; | }; | ||||||
|  |  | ||||||
| }  // namespace ARDUINOJSON_NAMESPACE | }  // namespace ARDUINOJSON_NAMESPACE | ||||||
|   | |||||||
| @@ -9,10 +9,10 @@ | |||||||
| namespace ARDUINOJSON_NAMESPACE { | namespace ARDUINOJSON_NAMESPACE { | ||||||
| class JsonArray; | class JsonArray; | ||||||
| class JsonObject; | class JsonObject; | ||||||
| class VariantRef; | class JsonVariant; | ||||||
|  |  | ||||||
| // A metafunction that returns the type of the value returned by | // A metafunction that returns the type of the value returned by | ||||||
| // VariantRef::to<T>() | // JsonVariant::to<T>() | ||||||
| template <typename T> | template <typename T> | ||||||
| struct VariantTo {}; | struct VariantTo {}; | ||||||
|  |  | ||||||
| @@ -25,8 +25,8 @@ struct VariantTo<JsonObject> { | |||||||
|   typedef JsonObject type; |   typedef JsonObject type; | ||||||
| }; | }; | ||||||
| template <> | template <> | ||||||
| struct VariantTo<VariantRef> { | struct VariantTo<JsonVariant> { | ||||||
|   typedef VariantRef type; |   typedef JsonVariant type; | ||||||
| }; | }; | ||||||
|  |  | ||||||
| }  // namespace ARDUINOJSON_NAMESPACE | }  // namespace ARDUINOJSON_NAMESPACE | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user