mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 08:42:39 +01:00 
			
		
		
		
	Rename VariantConstRef to JsonVariantConst
				
					
				
			This commit is contained in:
		| @@ -96,11 +96,11 @@ struct Converter<Complex> { | |||||||
|     dst["imag"] = src.imag(); |     dst["imag"] = src.imag(); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   static Complex fromJson(VariantConstRef src) { |   static Complex fromJson(JsonVariantConst src) { | ||||||
|     return Complex(src["real"], src["imag"]); |     return Complex(src["real"], src["imag"]); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   static bool checkJson(VariantConstRef src) { |   static bool checkJson(JsonVariantConst src) { | ||||||
|     return src["real"].is<double>() && src["imag"].is<double>(); |     return src["real"].is<double>() && src["imag"].is<double>(); | ||||||
|   } |   } | ||||||
| }; | }; | ||||||
|   | |||||||
| @@ -182,7 +182,7 @@ TEST_CASE("Polyfills/type_traits") { | |||||||
|            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<VariantRef, JsonVariantConst>::value == true)); | ||||||
|     CHECK((is_convertible<VariantConstRef, 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 == | ||||||
|            true)); |            true)); | ||||||
|   | |||||||
| @@ -23,7 +23,7 @@ | |||||||
|  |  | ||||||
| #include "ArduinoJson/Array/JsonArray.hpp" | #include "ArduinoJson/Array/JsonArray.hpp" | ||||||
| #include "ArduinoJson/Object/JsonObject.hpp" | #include "ArduinoJson/Object/JsonObject.hpp" | ||||||
| #include "ArduinoJson/Variant/VariantConstRef.hpp" | #include "ArduinoJson/Variant/JsonVariantConst.hpp" | ||||||
|  |  | ||||||
| #include "ArduinoJson/Document/DynamicJsonDocument.hpp" | #include "ArduinoJson/Document/DynamicJsonDocument.hpp" | ||||||
| #include "ArduinoJson/Document/StaticJsonDocument.hpp" | #include "ArduinoJson/Document/StaticJsonDocument.hpp" | ||||||
| @@ -57,7 +57,7 @@ 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; | ||||||
| typedef ARDUINOJSON_NAMESPACE::VariantConstRef JsonVariantConst; | using ARDUINOJSON_NAMESPACE::JsonVariantConst; | ||||||
| typedef ARDUINOJSON_NAMESPACE::VariantRef JsonVariant; | typedef ARDUINOJSON_NAMESPACE::VariantRef JsonVariant; | ||||||
| using ARDUINOJSON_NAMESPACE::BasicJsonDocument; | using ARDUINOJSON_NAMESPACE::BasicJsonDocument; | ||||||
| using ARDUINOJSON_NAMESPACE::copyArray; | using ARDUINOJSON_NAMESPACE::copyArray; | ||||||
|   | |||||||
| @@ -98,8 +98,8 @@ class JsonArray : public VariantOperators<JsonArray> { | |||||||
|     return add().to<JsonArray>(); |     return add().to<JsonArray>(); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   operator VariantConstRef() const { |   operator JsonVariantConst() const { | ||||||
|     return VariantConstRef(collectionToVariant(_data)); |     return JsonVariantConst(collectionToVariant(_data)); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   FORCE_INLINE bool isNull() const { |   FORCE_INLINE bool isNull() const { | ||||||
| @@ -141,7 +141,7 @@ class JsonArray : public VariantOperators<JsonArray> { | |||||||
|  |  | ||||||
| template <> | template <> | ||||||
| struct Converter<JsonArray> : private VariantAttorney { | struct Converter<JsonArray> : private VariantAttorney { | ||||||
|   static void toJson(VariantConstRef src, VariantRef dst) { |   static void toJson(JsonVariantConst src, VariantRef dst) { | ||||||
|     variantCopyFrom(getData(dst), getData(src), getPool(dst)); |     variantCopyFrom(getData(dst), getData(src), getPool(dst)); | ||||||
|   } |   } | ||||||
|  |  | ||||||
| @@ -151,10 +151,10 @@ struct Converter<JsonArray> : private VariantAttorney { | |||||||
|     return JsonArray(pool, data != 0 ? data->asArray() : 0); |     return JsonArray(pool, data != 0 ? data->asArray() : 0); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   static InvalidConversion<VariantConstRef, JsonArray> fromJson( |   static InvalidConversion<JsonVariantConst, JsonArray> fromJson( | ||||||
|       VariantConstRef); |       JsonVariantConst); | ||||||
|  |  | ||||||
|   static bool checkJson(VariantConstRef) { |   static bool checkJson(JsonVariantConst) { | ||||||
|     return false; |     return false; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -55,12 +55,12 @@ class JsonArrayConst : public VariantOperators<JsonArrayConst> { | |||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   FORCE_INLINE VariantConstRef operator[](size_t index) const { |   FORCE_INLINE JsonVariantConst operator[](size_t index) const { | ||||||
|     return VariantConstRef(_data ? _data->getElement(index) : 0); |     return JsonVariantConst(_data ? _data->getElement(index) : 0); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   operator VariantConstRef() const { |   operator JsonVariantConst() const { | ||||||
|     return VariantConstRef(collectionToVariant(_data)); |     return JsonVariantConst(collectionToVariant(_data)); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   FORCE_INLINE bool isNull() const { |   FORCE_INLINE bool isNull() const { | ||||||
| @@ -93,16 +93,16 @@ class JsonArrayConst : public VariantOperators<JsonArrayConst> { | |||||||
|  |  | ||||||
| template <> | template <> | ||||||
| struct Converter<JsonArrayConst> : private VariantAttorney { | struct Converter<JsonArrayConst> : private VariantAttorney { | ||||||
|   static void toJson(VariantConstRef src, VariantRef dst) { |   static void toJson(JsonVariantConst src, VariantRef dst) { | ||||||
|     variantCopyFrom(getData(dst), getData(src), getPool(dst)); |     variantCopyFrom(getData(dst), getData(src), getPool(dst)); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   static JsonArrayConst fromJson(VariantConstRef src) { |   static JsonArrayConst fromJson(JsonVariantConst src) { | ||||||
|     const VariantData* data = getData(src); |     const VariantData* data = getData(src); | ||||||
|     return data ? data->asArray() : 0; |     return data ? data->asArray() : 0; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   static bool checkJson(VariantConstRef src) { |   static bool checkJson(JsonVariantConst src) { | ||||||
|     const VariantData* data = getData(src); |     const VariantData* data = getData(src); | ||||||
|     return data && data->isArray(); |     return data && data->isArray(); | ||||||
|   } |   } | ||||||
|   | |||||||
| @@ -67,16 +67,16 @@ class VariantConstPtr { | |||||||
|  public: |  public: | ||||||
|   VariantConstPtr(const VariantData* data) : _variant(data) {} |   VariantConstPtr(const VariantData* data) : _variant(data) {} | ||||||
|  |  | ||||||
|   VariantConstRef* operator->() { |   JsonVariantConst* operator->() { | ||||||
|     return &_variant; |     return &_variant; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   VariantConstRef& operator*() { |   JsonVariantConst& operator*() { | ||||||
|     return _variant; |     return _variant; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  private: |  private: | ||||||
|   VariantConstRef _variant; |   JsonVariantConst _variant; | ||||||
| }; | }; | ||||||
|  |  | ||||||
| class JsonArrayConstIterator { | class JsonArrayConstIterator { | ||||||
| @@ -86,8 +86,8 @@ class JsonArrayConstIterator { | |||||||
|   JsonArrayConstIterator() : _slot(0) {} |   JsonArrayConstIterator() : _slot(0) {} | ||||||
|   explicit JsonArrayConstIterator(const VariantSlot* slot) : _slot(slot) {} |   explicit JsonArrayConstIterator(const VariantSlot* slot) : _slot(slot) {} | ||||||
|  |  | ||||||
|   VariantConstRef operator*() const { |   JsonVariantConst operator*() const { | ||||||
|     return VariantConstRef(_slot->data()); |     return JsonVariantConst(_slot->data()); | ||||||
|   } |   } | ||||||
|   VariantConstPtr operator->() { |   VariantConstPtr operator->() { | ||||||
|     return VariantConstPtr(_slot->data()); |     return VariantConstPtr(_slot->data()); | ||||||
|   | |||||||
| @@ -57,7 +57,7 @@ inline bool copyArray(const T* src, size_t len, JsonDocument& dst) { | |||||||
| // Trivial case form to stop the recursion | // Trivial case form to stop the recursion | ||||||
| template <typename T> | template <typename T> | ||||||
| inline typename enable_if<!is_array<T>::value, size_t>::type copyArray( | inline typename enable_if<!is_array<T>::value, size_t>::type copyArray( | ||||||
|     VariantConstRef src, T& dst) { |     JsonVariantConst src, T& dst) { | ||||||
|   dst = src.as<T>(); |   dst = src.as<T>(); | ||||||
|   return 1; |   return 1; | ||||||
| } | } | ||||||
| @@ -80,7 +80,7 @@ inline size_t copyArray(JsonArrayConst src, T* dst, size_t len) { | |||||||
|  |  | ||||||
| // Special case for char[] which must be treated as a string | // Special case for char[] which must be treated as a string | ||||||
| template <size_t N> | template <size_t N> | ||||||
| inline size_t copyArray(VariantConstRef src, char (&dst)[N]) { | inline size_t copyArray(JsonVariantConst src, char (&dst)[N]) { | ||||||
|   JsonString s = src; |   JsonString s = src; | ||||||
|   size_t len = N - 1; |   size_t len = N - 1; | ||||||
|   if (len > s.size()) |   if (len > s.size()) | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ namespace ARDUINOJSON_NAMESPACE { | |||||||
|  |  | ||||||
| class Filter { | class Filter { | ||||||
|  public: |  public: | ||||||
|   explicit Filter(VariantConstRef v) : _variant(v) {} |   explicit Filter(JsonVariantConst v) : _variant(v) {} | ||||||
|  |  | ||||||
|   bool allow() const { |   bool allow() const { | ||||||
|     return _variant; |     return _variant; | ||||||
| @@ -32,12 +32,12 @@ class Filter { | |||||||
|   Filter operator[](const TKey& key) const { |   Filter operator[](const TKey& key) const { | ||||||
|     if (_variant == true)  // "true" means "allow recursively" |     if (_variant == true)  // "true" means "allow recursively" | ||||||
|       return *this; |       return *this; | ||||||
|     VariantConstRef member = _variant[key]; |     JsonVariantConst member = _variant[key]; | ||||||
|     return Filter(member.isNull() ? _variant["*"] : member); |     return Filter(member.isNull() ? _variant["*"] : member); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  private: |  private: | ||||||
|   VariantConstRef _variant; |   JsonVariantConst _variant; | ||||||
| }; | }; | ||||||
|  |  | ||||||
| struct AllowAllFilter { | struct AllowAllFilter { | ||||||
|   | |||||||
| @@ -5,7 +5,7 @@ | |||||||
| #pragma once | #pragma once | ||||||
|  |  | ||||||
| #include <ArduinoJson/Object/MemberProxy.hpp> | #include <ArduinoJson/Object/MemberProxy.hpp> | ||||||
| #include <ArduinoJson/Variant/VariantConstRef.hpp> | #include <ArduinoJson/Variant/JsonVariantConst.hpp> | ||||||
|  |  | ||||||
| namespace ARDUINOJSON_NAMESPACE { | namespace ARDUINOJSON_NAMESPACE { | ||||||
|  |  | ||||||
|   | |||||||
| @@ -65,9 +65,9 @@ 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, VariantConstRef>::value || |           is_same<T, VariantRef>::value || | ||||||
|           is_same<T, JsonArray>::value || is_same<T, JsonArrayConst>::value || |           is_same<T, JsonVariantConst>::value || is_same<T, JsonArray>::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) | ||||||
|       : JsonDocument(allocPool(src.memoryUsage())) { |       : JsonDocument(allocPool(src.memoryUsage())) { | ||||||
|     set(src); |     set(src); | ||||||
|   | |||||||
| @@ -9,10 +9,9 @@ | |||||||
| #include <ArduinoJson/Object/JsonObject.hpp> | #include <ArduinoJson/Object/JsonObject.hpp> | ||||||
| #include <ArduinoJson/Object/MemberProxy.hpp> | #include <ArduinoJson/Object/MemberProxy.hpp> | ||||||
| #include <ArduinoJson/Strings/StoragePolicy.hpp> | #include <ArduinoJson/Strings/StoragePolicy.hpp> | ||||||
| #include <ArduinoJson/Variant/VariantConstRef.hpp> | #include <ArduinoJson/Variant/JsonVariantConst.hpp> | ||||||
| #include <ArduinoJson/Variant/VariantTo.hpp> | #include <ArduinoJson/Variant/VariantTo.hpp> | ||||||
|  |  | ||||||
|  |  | ||||||
| namespace ARDUINOJSON_NAMESPACE { | namespace ARDUINOJSON_NAMESPACE { | ||||||
|  |  | ||||||
| class JsonDocument : public VariantOperators<const JsonDocument&> { | class JsonDocument : public VariantOperators<const JsonDocument&> { | ||||||
| @@ -69,7 +68,7 @@ class JsonDocument : public VariantOperators<const JsonDocument&> { | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   bool set(const JsonDocument& src) { |   bool set(const JsonDocument& src) { | ||||||
|     return to<VariantRef>().set(src.as<VariantConstRef>()); |     return to<VariantRef>().set(src.as<JsonVariantConst>()); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   template <typename T> |   template <typename T> | ||||||
| @@ -160,9 +159,9 @@ class JsonDocument : public VariantOperators<const JsonDocument&> { | |||||||
|   // operator[](const String&) const |   // operator[](const String&) const | ||||||
|   template <typename TString> |   template <typename TString> | ||||||
|   FORCE_INLINE |   FORCE_INLINE | ||||||
|       typename enable_if<IsString<TString>::value, VariantConstRef>::type |       typename enable_if<IsString<TString>::value, JsonVariantConst>::type | ||||||
|       operator[](const TString& key) const { |       operator[](const TString& key) const { | ||||||
|     return VariantConstRef(_data.getMember(adaptString(key))); |     return JsonVariantConst(_data.getMember(adaptString(key))); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   // operator[](char*) const |   // operator[](char*) const | ||||||
| @@ -170,17 +169,17 @@ class JsonDocument : public VariantOperators<const JsonDocument&> { | |||||||
|   // operator[](const __FlashStringHelper*) const |   // operator[](const __FlashStringHelper*) const | ||||||
|   template <typename TChar> |   template <typename TChar> | ||||||
|   FORCE_INLINE |   FORCE_INLINE | ||||||
|       typename enable_if<IsString<TChar*>::value, VariantConstRef>::type |       typename enable_if<IsString<TChar*>::value, JsonVariantConst>::type | ||||||
|       operator[](TChar* key) const { |       operator[](TChar* key) const { | ||||||
|     return VariantConstRef(_data.getMember(adaptString(key))); |     return JsonVariantConst(_data.getMember(adaptString(key))); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   FORCE_INLINE ElementProxy<JsonDocument&> operator[](size_t index) { |   FORCE_INLINE ElementProxy<JsonDocument&> operator[](size_t index) { | ||||||
|     return ElementProxy<JsonDocument&>(*this, index); |     return ElementProxy<JsonDocument&>(*this, index); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   FORCE_INLINE VariantConstRef operator[](size_t index) const { |   FORCE_INLINE JsonVariantConst operator[](size_t index) const { | ||||||
|     return VariantConstRef(_data.getElement(index)); |     return JsonVariantConst(_data.getElement(index)); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   FORCE_INLINE VariantRef add() { |   FORCE_INLINE VariantRef add() { | ||||||
| @@ -223,7 +222,7 @@ class JsonDocument : public VariantOperators<const JsonDocument&> { | |||||||
|     return getVariant(); |     return getVariant(); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   FORCE_INLINE operator VariantConstRef() const { |   FORCE_INLINE operator JsonVariantConst() const { | ||||||
|     return getVariant(); |     return getVariant(); | ||||||
|   } |   } | ||||||
|  |  | ||||||
| @@ -250,8 +249,8 @@ class JsonDocument : public VariantOperators<const JsonDocument&> { | |||||||
|     return VariantRef(&_pool, &_data); |     return VariantRef(&_pool, &_data); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   VariantConstRef getVariant() const { |   JsonVariantConst getVariant() const { | ||||||
|     return VariantConstRef(&_data); |     return JsonVariantConst(&_data); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   MemoryPool _pool; |   MemoryPool _pool; | ||||||
| @@ -280,7 +279,7 @@ class JsonDocument : public VariantOperators<const JsonDocument&> { | |||||||
| }; | }; | ||||||
|  |  | ||||||
| inline void convertToJson(const JsonDocument& src, VariantRef dst) { | inline void convertToJson(const JsonDocument& src, VariantRef dst) { | ||||||
|   dst.set(src.as<VariantConstRef>()); |   dst.set(src.as<JsonVariantConst>()); | ||||||
| } | } | ||||||
|  |  | ||||||
| }  // namespace ARDUINOJSON_NAMESPACE | }  // namespace ARDUINOJSON_NAMESPACE | ||||||
|   | |||||||
| @@ -24,7 +24,7 @@ class StaticJsonDocument : public JsonDocument { | |||||||
|   template <typename T> |   template <typename T> | ||||||
|   StaticJsonDocument( |   StaticJsonDocument( | ||||||
|       const T& src, |       const T& src, | ||||||
|       typename enable_if<is_convertible<T, VariantConstRef>::value>::type* = 0) |       typename enable_if<is_convertible<T, JsonVariantConst>::value>::type* = 0) | ||||||
|       : JsonDocument(_buffer, _capacity) { |       : JsonDocument(_buffer, _capacity) { | ||||||
|     set(src); |     set(src); | ||||||
|   } |   } | ||||||
|   | |||||||
| @@ -116,22 +116,22 @@ class JsonSerializer : public Visitor<size_t> { | |||||||
| }; | }; | ||||||
|  |  | ||||||
| template <typename TDestination> | template <typename TDestination> | ||||||
| size_t serializeJson(VariantConstRef source, TDestination& destination) { | size_t serializeJson(JsonVariantConst source, TDestination& destination) { | ||||||
|   return serialize<JsonSerializer>(source, destination); |   return serialize<JsonSerializer>(source, destination); | ||||||
| } | } | ||||||
|  |  | ||||||
| inline size_t serializeJson(VariantConstRef source, void* buffer, | inline size_t serializeJson(JsonVariantConst source, void* buffer, | ||||||
|                             size_t bufferSize) { |                             size_t bufferSize) { | ||||||
|   return serialize<JsonSerializer>(source, buffer, bufferSize); |   return serialize<JsonSerializer>(source, buffer, bufferSize); | ||||||
| } | } | ||||||
|  |  | ||||||
| inline size_t measureJson(VariantConstRef source) { | inline size_t measureJson(JsonVariantConst source) { | ||||||
|   return measure<JsonSerializer>(source); |   return measure<JsonSerializer>(source); | ||||||
| } | } | ||||||
|  |  | ||||||
| #if ARDUINOJSON_ENABLE_STD_STREAM | #if ARDUINOJSON_ENABLE_STD_STREAM | ||||||
| template <typename T> | template <typename T> | ||||||
| inline typename enable_if<is_convertible<T, VariantConstRef>::value, | inline typename enable_if<is_convertible<T, JsonVariantConst>::value, | ||||||
|                           std::ostream&>::type |                           std::ostream&>::type | ||||||
| operator<<(std::ostream& os, const T& source) { | operator<<(std::ostream& os, const T& source) { | ||||||
|   serializeJson(source, os); |   serializeJson(source, os); | ||||||
|   | |||||||
| @@ -71,16 +71,16 @@ class PrettyJsonSerializer : public JsonSerializer<TWriter> { | |||||||
| }; | }; | ||||||
|  |  | ||||||
| template <typename TDestination> | template <typename TDestination> | ||||||
| size_t serializeJsonPretty(VariantConstRef source, TDestination& destination) { | size_t serializeJsonPretty(JsonVariantConst source, TDestination& destination) { | ||||||
|   return serialize<PrettyJsonSerializer>(source, destination); |   return serialize<PrettyJsonSerializer>(source, destination); | ||||||
| } | } | ||||||
|  |  | ||||||
| inline size_t serializeJsonPretty(VariantConstRef source, void* buffer, | inline size_t serializeJsonPretty(JsonVariantConst source, void* buffer, | ||||||
|                                   size_t bufferSize) { |                                   size_t bufferSize) { | ||||||
|   return serialize<PrettyJsonSerializer>(source, buffer, bufferSize); |   return serialize<PrettyJsonSerializer>(source, buffer, bufferSize); | ||||||
| } | } | ||||||
|  |  | ||||||
| inline size_t measureJsonPretty(VariantConstRef source) { | inline size_t measureJsonPretty(JsonVariantConst source) { | ||||||
|   return measure<PrettyJsonSerializer>(source); |   return measure<PrettyJsonSerializer>(source); | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -198,16 +198,16 @@ class MsgPackSerializer : public Visitor<size_t> { | |||||||
| }; | }; | ||||||
|  |  | ||||||
| template <typename TDestination> | template <typename TDestination> | ||||||
| inline size_t serializeMsgPack(VariantConstRef source, TDestination& output) { | inline size_t serializeMsgPack(JsonVariantConst source, TDestination& output) { | ||||||
|   return serialize<MsgPackSerializer>(source, output); |   return serialize<MsgPackSerializer>(source, output); | ||||||
| } | } | ||||||
|  |  | ||||||
| inline size_t serializeMsgPack(VariantConstRef source, void* output, | inline size_t serializeMsgPack(JsonVariantConst source, void* output, | ||||||
|                                size_t size) { |                                size_t size) { | ||||||
|   return serialize<MsgPackSerializer>(source, output, size); |   return serialize<MsgPackSerializer>(source, output, size); | ||||||
| } | } | ||||||
|  |  | ||||||
| inline size_t measureMsgPack(VariantConstRef source) { | inline size_t measureMsgPack(JsonVariantConst source) { | ||||||
|   return measure<MsgPackSerializer>(source); |   return measure<MsgPackSerializer>(source); | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -148,6 +148,6 @@ inline T parseNumber(const char* s) { | |||||||
|   VariantData value; |   VariantData value; | ||||||
|   value.init();  // VariantData is a POD, so it has no constructor |   value.init();  // VariantData is a POD, so it has no constructor | ||||||
|   parseNumber(s, value); |   parseNumber(s, value); | ||||||
|   return Converter<T>::fromJson(VariantConstRef(&value)); |   return Converter<T>::fromJson(JsonVariantConst(&value)); | ||||||
| } | } | ||||||
| }  // namespace ARDUINOJSON_NAMESPACE | }  // namespace ARDUINOJSON_NAMESPACE | ||||||
|   | |||||||
| @@ -30,8 +30,8 @@ class JsonObject : public VariantOperators<JsonObject> { | |||||||
|     return JsonObjectConst(_data); |     return JsonObjectConst(_data); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   operator VariantConstRef() const { |   operator JsonVariantConst() const { | ||||||
|     return VariantConstRef(collectionToVariant(_data)); |     return JsonVariantConst(collectionToVariant(_data)); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   FORCE_INLINE bool isNull() const { |   FORCE_INLINE bool isNull() const { | ||||||
| @@ -176,7 +176,7 @@ class JsonObject : public VariantOperators<JsonObject> { | |||||||
|  |  | ||||||
| template <> | template <> | ||||||
| struct Converter<JsonObject> : private VariantAttorney { | struct Converter<JsonObject> : private VariantAttorney { | ||||||
|   static void toJson(VariantConstRef src, VariantRef dst) { |   static void toJson(JsonVariantConst src, VariantRef dst) { | ||||||
|     variantCopyFrom(getData(dst), getData(src), getPool(dst)); |     variantCopyFrom(getData(dst), getData(src), getPool(dst)); | ||||||
|   } |   } | ||||||
|  |  | ||||||
| @@ -186,10 +186,10 @@ struct Converter<JsonObject> : private VariantAttorney { | |||||||
|     return JsonObject(pool, data != 0 ? data->asObject() : 0); |     return JsonObject(pool, data != 0 ? data->asObject() : 0); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   static InvalidConversion<VariantConstRef, JsonObject> fromJson( |   static InvalidConversion<JsonVariantConst, JsonObject> fromJson( | ||||||
|       VariantConstRef); |       JsonVariantConst); | ||||||
|  |  | ||||||
|   static bool checkJson(VariantConstRef) { |   static bool checkJson(JsonVariantConst) { | ||||||
|     return false; |     return false; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -19,8 +19,8 @@ class JsonObjectConst : public VariantOperators<JsonObjectConst> { | |||||||
|   JsonObjectConst() : _data(0) {} |   JsonObjectConst() : _data(0) {} | ||||||
|   JsonObjectConst(const CollectionData* data) : _data(data) {} |   JsonObjectConst(const CollectionData* data) : _data(data) {} | ||||||
|  |  | ||||||
|   operator VariantConstRef() const { |   operator JsonVariantConst() const { | ||||||
|     return VariantConstRef(collectionToVariant(_data)); |     return JsonVariantConst(collectionToVariant(_data)); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   FORCE_INLINE bool isNull() const { |   FORCE_INLINE bool isNull() const { | ||||||
| @@ -72,9 +72,9 @@ class JsonObjectConst : public VariantOperators<JsonObjectConst> { | |||||||
|   // operator[](const String&) const |   // operator[](const String&) const | ||||||
|   template <typename TString> |   template <typename TString> | ||||||
|   FORCE_INLINE |   FORCE_INLINE | ||||||
|       typename enable_if<IsString<TString>::value, VariantConstRef>::type |       typename enable_if<IsString<TString>::value, JsonVariantConst>::type | ||||||
|       operator[](const TString& key) const { |       operator[](const TString& key) const { | ||||||
|     return VariantConstRef(getMember(adaptString(key))); |     return JsonVariantConst(getMember(adaptString(key))); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   // operator[](char*) const |   // operator[](char*) const | ||||||
| @@ -82,9 +82,9 @@ class JsonObjectConst : public VariantOperators<JsonObjectConst> { | |||||||
|   // operator[](const __FlashStringHelper*) const |   // operator[](const __FlashStringHelper*) const | ||||||
|   template <typename TChar> |   template <typename TChar> | ||||||
|   FORCE_INLINE |   FORCE_INLINE | ||||||
|       typename enable_if<IsString<TChar*>::value, VariantConstRef>::type |       typename enable_if<IsString<TChar*>::value, JsonVariantConst>::type | ||||||
|       operator[](TChar* key) const { |       operator[](TChar* key) const { | ||||||
|     return VariantConstRef(getMember(adaptString(key))); |     return JsonVariantConst(getMember(adaptString(key))); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   FORCE_INLINE bool operator==(JsonObjectConst rhs) const { |   FORCE_INLINE bool operator==(JsonObjectConst rhs) const { | ||||||
| @@ -120,16 +120,16 @@ class JsonObjectConst : public VariantOperators<JsonObjectConst> { | |||||||
|  |  | ||||||
| template <> | template <> | ||||||
| struct Converter<JsonObjectConst> : private VariantAttorney { | struct Converter<JsonObjectConst> : private VariantAttorney { | ||||||
|   static void toJson(VariantConstRef src, VariantRef dst) { |   static void toJson(JsonVariantConst src, VariantRef dst) { | ||||||
|     variantCopyFrom(getData(dst), getData(src), getPool(dst)); |     variantCopyFrom(getData(dst), getData(src), getPool(dst)); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   static JsonObjectConst fromJson(VariantConstRef src) { |   static JsonObjectConst fromJson(JsonVariantConst src) { | ||||||
|     const VariantData* data = getData(src); |     const VariantData* data = getData(src); | ||||||
|     return data != 0 ? data->asObject() : 0; |     return data != 0 ? data->asObject() : 0; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   static bool checkJson(VariantConstRef src) { |   static bool checkJson(JsonVariantConst src) { | ||||||
|     const VariantData* data = getData(src); |     const VariantData* data = getData(src); | ||||||
|     return data && data->isObject(); |     return data && data->isObject(); | ||||||
|   } |   } | ||||||
|   | |||||||
| @@ -5,7 +5,7 @@ | |||||||
| #pragma once | #pragma once | ||||||
|  |  | ||||||
| #include <ArduinoJson/Strings/JsonString.hpp> | #include <ArduinoJson/Strings/JsonString.hpp> | ||||||
| #include <ArduinoJson/Variant/VariantConstRef.hpp> | #include <ArduinoJson/Variant/JsonVariantConst.hpp> | ||||||
| #include <ArduinoJson/Variant/VariantRef.hpp> | #include <ArduinoJson/Variant/VariantRef.hpp> | ||||||
|  |  | ||||||
| namespace ARDUINOJSON_NAMESPACE { | namespace ARDUINOJSON_NAMESPACE { | ||||||
| @@ -39,7 +39,7 @@ class JsonPairConst { | |||||||
|     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 = VariantConstRef(slot->data()); |       _value = JsonVariantConst(slot->data()); | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  |  | ||||||
| @@ -47,12 +47,12 @@ class JsonPairConst { | |||||||
|     return _key; |     return _key; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   VariantConstRef value() const { |   JsonVariantConst value() const { | ||||||
|     return _value; |     return _value; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  private: |  private: | ||||||
|   JsonString _key; |   JsonString _key; | ||||||
|   VariantConstRef _value; |   JsonVariantConst _value; | ||||||
| }; | }; | ||||||
| }  // namespace ARDUINOJSON_NAMESPACE | }  // namespace ARDUINOJSON_NAMESPACE | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ | |||||||
| namespace ARDUINOJSON_NAMESPACE { | namespace ARDUINOJSON_NAMESPACE { | ||||||
|  |  | ||||||
| template <template <typename> class TSerializer> | template <template <typename> class TSerializer> | ||||||
| size_t measure(VariantConstRef source) { | size_t measure(JsonVariantConst source) { | ||||||
|   DummyWriter dp; |   DummyWriter dp; | ||||||
|   TSerializer<DummyWriter> serializer(dp); |   TSerializer<DummyWriter> serializer(dp); | ||||||
|   return variantAccept(VariantAttorney::getData(source), serializer); |   return variantAccept(VariantAttorney::getData(source), serializer); | ||||||
|   | |||||||
| @@ -10,27 +10,27 @@ | |||||||
| namespace ARDUINOJSON_NAMESPACE { | namespace ARDUINOJSON_NAMESPACE { | ||||||
|  |  | ||||||
| template <template <typename> class TSerializer, typename TWriter> | template <template <typename> class TSerializer, typename TWriter> | ||||||
| size_t doSerialize(VariantConstRef source, TWriter writer) { | size_t doSerialize(JsonVariantConst source, TWriter writer) { | ||||||
|   TSerializer<TWriter> serializer(writer); |   TSerializer<TWriter> serializer(writer); | ||||||
|   return variantAccept(VariantAttorney::getData(source), serializer); |   return variantAccept(VariantAttorney::getData(source), serializer); | ||||||
| } | } | ||||||
|  |  | ||||||
| template <template <typename> class TSerializer, typename TDestination> | template <template <typename> class TSerializer, typename TDestination> | ||||||
| size_t serialize(VariantConstRef source, TDestination& destination) { | size_t serialize(JsonVariantConst source, TDestination& destination) { | ||||||
|   Writer<TDestination> writer(destination); |   Writer<TDestination> writer(destination); | ||||||
|   return doSerialize<TSerializer>(source, writer); |   return doSerialize<TSerializer>(source, writer); | ||||||
| } | } | ||||||
|  |  | ||||||
| template <template <typename> class TSerializer> | template <template <typename> class TSerializer> | ||||||
| typename enable_if<!TSerializer<StaticStringWriter>::producesText, size_t>::type | typename enable_if<!TSerializer<StaticStringWriter>::producesText, size_t>::type | ||||||
| serialize(VariantConstRef source, void* buffer, size_t bufferSize) { | serialize(JsonVariantConst source, void* buffer, size_t bufferSize) { | ||||||
|   StaticStringWriter writer(reinterpret_cast<char*>(buffer), bufferSize); |   StaticStringWriter writer(reinterpret_cast<char*>(buffer), bufferSize); | ||||||
|   return doSerialize<TSerializer>(source, writer); |   return doSerialize<TSerializer>(source, writer); | ||||||
| } | } | ||||||
|  |  | ||||||
| template <template <typename> class TSerializer> | template <template <typename> class TSerializer> | ||||||
| typename enable_if<TSerializer<StaticStringWriter>::producesText, size_t>::type | typename enable_if<TSerializer<StaticStringWriter>::producesText, size_t>::type | ||||||
| serialize(VariantConstRef source, void* buffer, size_t bufferSize) { | serialize(JsonVariantConst source, void* buffer, size_t bufferSize) { | ||||||
|   StaticStringWriter writer(reinterpret_cast<char*>(buffer), bufferSize); |   StaticStringWriter writer(reinterpret_cast<char*>(buffer), bufferSize); | ||||||
|   size_t n = doSerialize<TSerializer>(source, writer); |   size_t n = doSerialize<TSerializer>(source, writer); | ||||||
|   // add null-terminator for text output (not counted in the size) |   // add null-terminator for text output (not counted in the size) | ||||||
| @@ -45,7 +45,7 @@ typename enable_if<sizeof(remove_reference<TChar>::type) == 1, size_t>::type | |||||||
| #else | #else | ||||||
| typename enable_if<sizeof(TChar) == 1, size_t>::type | typename enable_if<sizeof(TChar) == 1, size_t>::type | ||||||
| #endif | #endif | ||||||
| serialize(VariantConstRef source, TChar (&buffer)[N]) { | serialize(JsonVariantConst source, TChar (&buffer)[N]) { | ||||||
|   return serialize<TSerializer>(source, buffer, N); |   return serialize<TSerializer>(source, buffer, N); | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -5,7 +5,7 @@ | |||||||
| #pragma once | #pragma once | ||||||
|  |  | ||||||
| #include <ArduinoJson/Json/JsonSerializer.hpp> | #include <ArduinoJson/Json/JsonSerializer.hpp> | ||||||
| #include <ArduinoJson/Variant/VariantConstRef.hpp> | #include <ArduinoJson/Variant/JsonVariantConst.hpp> | ||||||
| #include <ArduinoJson/Variant/VariantFunctions.hpp> | #include <ArduinoJson/Variant/VariantFunctions.hpp> | ||||||
|  |  | ||||||
| namespace ARDUINOJSON_NAMESPACE { | namespace ARDUINOJSON_NAMESPACE { | ||||||
| @@ -18,7 +18,7 @@ struct Converter { | |||||||
|     // clang-format on |     // clang-format on | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   static T fromJson(VariantConstRef src) { |   static T fromJson(JsonVariantConst src) { | ||||||
|     // clang-format off |     // clang-format off | ||||||
|     T result; // Error here? See https://arduinojson.org/v6/non-default-constructible/ |     T result; // Error here? See https://arduinojson.org/v6/non-default-constructible/ | ||||||
|     convertFromJson(src, result);  // Error here? See https://arduinojson.org/v6/unsupported-as/ |     convertFromJson(src, result);  // Error here? See https://arduinojson.org/v6/unsupported-as/ | ||||||
| @@ -26,7 +26,7 @@ struct Converter { | |||||||
|     return result; |     return result; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   static bool checkJson(VariantConstRef src) { |   static bool checkJson(JsonVariantConst src) { | ||||||
|     T dummy = T(); |     T dummy = T(); | ||||||
|     // clang-format off |     // clang-format off | ||||||
|     return canConvertFromJson(src, dummy);  // Error here? See https://arduinojson.org/v6/unsupported-is/ |     return canConvertFromJson(src, dummy);  // Error here? See https://arduinojson.org/v6/unsupported-is/ | ||||||
| @@ -46,13 +46,13 @@ struct Converter< | |||||||
|       data->setInteger(src); |       data->setInteger(src); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   static T fromJson(VariantConstRef src) { |   static T fromJson(JsonVariantConst src) { | ||||||
|     ARDUINOJSON_ASSERT_INTEGER_TYPE_IS_SUPPORTED(T); |     ARDUINOJSON_ASSERT_INTEGER_TYPE_IS_SUPPORTED(T); | ||||||
|     const VariantData* data = getData(src); |     const VariantData* data = getData(src); | ||||||
|     return data ? data->asIntegral<T>() : T(); |     return data ? data->asIntegral<T>() : T(); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   static bool checkJson(VariantConstRef src) { |   static bool checkJson(JsonVariantConst src) { | ||||||
|     const VariantData* data = getData(src); |     const VariantData* data = getData(src); | ||||||
|     return data && data->isInteger<T>(); |     return data && data->isInteger<T>(); | ||||||
|   } |   } | ||||||
| @@ -65,12 +65,12 @@ struct Converter<T, typename enable_if<is_enum<T>::value>::type> | |||||||
|     dst.set(static_cast<JsonInteger>(src)); |     dst.set(static_cast<JsonInteger>(src)); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   static T fromJson(VariantConstRef src) { |   static T fromJson(JsonVariantConst src) { | ||||||
|     const VariantData* data = getData(src); |     const VariantData* data = getData(src); | ||||||
|     return data ? static_cast<T>(data->asIntegral<int>()) : T(); |     return data ? static_cast<T>(data->asIntegral<int>()) : T(); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   static bool checkJson(VariantConstRef src) { |   static bool checkJson(JsonVariantConst src) { | ||||||
|     const VariantData* data = getData(src); |     const VariantData* data = getData(src); | ||||||
|     return data && data->isInteger<int>(); |     return data && data->isInteger<int>(); | ||||||
|   } |   } | ||||||
| @@ -84,12 +84,12 @@ struct Converter<bool> : private VariantAttorney { | |||||||
|       data->setBoolean(src); |       data->setBoolean(src); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   static bool fromJson(VariantConstRef src) { |   static bool fromJson(JsonVariantConst src) { | ||||||
|     const VariantData* data = getData(src); |     const VariantData* data = getData(src); | ||||||
|     return data ? data->asBoolean() : false; |     return data ? data->asBoolean() : false; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   static bool checkJson(VariantConstRef src) { |   static bool checkJson(JsonVariantConst src) { | ||||||
|     const VariantData* data = getData(src); |     const VariantData* data = getData(src); | ||||||
|     return data && data->isBoolean(); |     return data && data->isBoolean(); | ||||||
|   } |   } | ||||||
| @@ -104,12 +104,12 @@ struct Converter<T, typename enable_if<is_floating_point<T>::value>::type> | |||||||
|       data->setFloat(static_cast<JsonFloat>(src)); |       data->setFloat(static_cast<JsonFloat>(src)); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   static T fromJson(VariantConstRef src) { |   static T fromJson(JsonVariantConst src) { | ||||||
|     const VariantData* data = getData(src); |     const VariantData* data = getData(src); | ||||||
|     return data ? data->asFloat<T>() : 0; |     return data ? data->asFloat<T>() : 0; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   static bool checkJson(VariantConstRef src) { |   static bool checkJson(JsonVariantConst src) { | ||||||
|     const VariantData* data = getData(src); |     const VariantData* data = getData(src); | ||||||
|     return data && data->isFloat(); |     return data && data->isFloat(); | ||||||
|   } |   } | ||||||
| @@ -121,12 +121,12 @@ struct Converter<const char*> : private VariantAttorney { | |||||||
|     variantSetString(getData(dst), adaptString(src), getPool(dst)); |     variantSetString(getData(dst), adaptString(src), getPool(dst)); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   static const char* fromJson(VariantConstRef src) { |   static const char* fromJson(JsonVariantConst src) { | ||||||
|     const VariantData* data = getData(src); |     const VariantData* data = getData(src); | ||||||
|     return data ? data->asString().c_str() : 0; |     return data ? data->asString().c_str() : 0; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   static bool checkJson(VariantConstRef src) { |   static bool checkJson(JsonVariantConst src) { | ||||||
|     const VariantData* data = getData(src); |     const VariantData* data = getData(src); | ||||||
|     return data && data->isString(); |     return data && data->isString(); | ||||||
|   } |   } | ||||||
| @@ -138,12 +138,12 @@ struct Converter<JsonString> : private VariantAttorney { | |||||||
|     variantSetString(getData(dst), adaptString(src), getPool(dst)); |     variantSetString(getData(dst), adaptString(src), getPool(dst)); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   static JsonString fromJson(VariantConstRef src) { |   static JsonString fromJson(JsonVariantConst src) { | ||||||
|     const VariantData* data = getData(src); |     const VariantData* data = getData(src); | ||||||
|     return data ? data->asString() : 0; |     return data ? data->asString() : 0; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   static bool checkJson(VariantConstRef src) { |   static bool checkJson(JsonVariantConst src) { | ||||||
|     const VariantData* data = getData(src); |     const VariantData* data = getData(src); | ||||||
|     return data && data->isString(); |     return data && data->isString(); | ||||||
|   } |   } | ||||||
| @@ -188,10 +188,10 @@ struct Converter<decltype(nullptr)> : private VariantAttorney { | |||||||
|   static void toJson(decltype(nullptr), VariantRef dst) { |   static void toJson(decltype(nullptr), VariantRef dst) { | ||||||
|     variantSetNull(getData(dst)); |     variantSetNull(getData(dst)); | ||||||
|   } |   } | ||||||
|   static decltype(nullptr) fromJson(VariantConstRef) { |   static decltype(nullptr) fromJson(JsonVariantConst) { | ||||||
|     return nullptr; |     return nullptr; | ||||||
|   } |   } | ||||||
|   static bool checkJson(VariantConstRef src) { |   static bool checkJson(JsonVariantConst src) { | ||||||
|     const VariantData* data = getData(src); |     const VariantData* data = getData(src); | ||||||
|     return data == 0 || data->isNull(); |     return data == 0 || data->isNull(); | ||||||
|   } |   } | ||||||
| @@ -261,7 +261,7 @@ inline void convertToJson(const ::Printable& src, VariantRef dst) { | |||||||
|  |  | ||||||
| #if ARDUINOJSON_ENABLE_ARDUINO_STRING | #if ARDUINOJSON_ENABLE_ARDUINO_STRING | ||||||
|  |  | ||||||
| inline void convertFromJson(VariantConstRef src, ::String& dst) { | inline void convertFromJson(JsonVariantConst src, ::String& dst) { | ||||||
|   JsonString str = src.as<JsonString>(); |   JsonString str = src.as<JsonString>(); | ||||||
|   if (str) |   if (str) | ||||||
|     dst = str.c_str(); |     dst = str.c_str(); | ||||||
| @@ -269,7 +269,7 @@ inline void convertFromJson(VariantConstRef src, ::String& dst) { | |||||||
|     serializeJson(src, dst); |     serializeJson(src, dst); | ||||||
| } | } | ||||||
|  |  | ||||||
| inline bool canConvertFromJson(VariantConstRef src, const ::String&) { | inline bool canConvertFromJson(JsonVariantConst src, const ::String&) { | ||||||
|   return src.is<JsonString>(); |   return src.is<JsonString>(); | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -277,7 +277,7 @@ inline bool canConvertFromJson(VariantConstRef src, const ::String&) { | |||||||
|  |  | ||||||
| #if ARDUINOJSON_ENABLE_STD_STRING | #if ARDUINOJSON_ENABLE_STD_STRING | ||||||
|  |  | ||||||
| inline void convertFromJson(VariantConstRef src, std::string& dst) { | inline void convertFromJson(JsonVariantConst src, std::string& dst) { | ||||||
|   JsonString str = src.as<JsonString>(); |   JsonString str = src.as<JsonString>(); | ||||||
|   if (str) |   if (str) | ||||||
|     dst.assign(str.c_str(), str.size()); |     dst.assign(str.c_str(), str.size()); | ||||||
| @@ -285,7 +285,7 @@ inline void convertFromJson(VariantConstRef src, std::string& dst) { | |||||||
|     serializeJson(src, dst); |     serializeJson(src, dst); | ||||||
| } | } | ||||||
|  |  | ||||||
| inline bool canConvertFromJson(VariantConstRef src, const std::string&) { | inline bool canConvertFromJson(JsonVariantConst src, const std::string&) { | ||||||
|   return src.is<JsonString>(); |   return src.is<JsonString>(); | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -293,13 +293,13 @@ inline bool canConvertFromJson(VariantConstRef src, const std::string&) { | |||||||
|  |  | ||||||
| #if ARDUINOJSON_ENABLE_STRING_VIEW | #if ARDUINOJSON_ENABLE_STRING_VIEW | ||||||
|  |  | ||||||
| inline void convertFromJson(VariantConstRef src, std::string_view& dst) { | inline void convertFromJson(JsonVariantConst src, std::string_view& dst) { | ||||||
|   JsonString str = src.as<JsonString>(); |   JsonString str = src.as<JsonString>(); | ||||||
|   if (str)  // the standard doesn't allow passing null to the constructor |   if (str)  // the standard doesn't allow passing null to the constructor | ||||||
|     dst = std::string_view(str.c_str(), str.size()); |     dst = std::string_view(str.c_str(), str.size()); | ||||||
| } | } | ||||||
|  |  | ||||||
| inline bool canConvertFromJson(VariantConstRef src, const std::string_view&) { | inline bool canConvertFromJson(JsonVariantConst src, const std::string_view&) { | ||||||
|   return src.is<JsonString>(); |   return src.is<JsonString>(); | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -309,7 +309,7 @@ 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)(VariantRef)); | ||||||
|   static char probe(T (*f)(VariantConstRef)); |   static char probe(T (*f)(JsonVariantConst)); | ||||||
|  |  | ||||||
|  public: |  public: | ||||||
|   static const bool value = |   static const bool value = | ||||||
|   | |||||||
| @@ -22,13 +22,13 @@ namespace ARDUINOJSON_NAMESPACE { | |||||||
| class JsonArray; | class JsonArray; | ||||||
| class JsonObject; | class JsonObject; | ||||||
| 
 | 
 | ||||||
| class VariantConstRef : public VariantTag, | class JsonVariantConst : public VariantTag, | ||||||
|                         public VariantOperators<VariantConstRef> { |                          public VariantOperators<JsonVariantConst> { | ||||||
|   friend class VariantAttorney; |   friend class VariantAttorney; | ||||||
| 
 | 
 | ||||||
|  public: |  public: | ||||||
|   VariantConstRef() : _data(0) {} |   JsonVariantConst() : _data(0) {} | ||||||
|   explicit VariantConstRef(const VariantData* data) : _data(data) {} |   explicit JsonVariantConst(const VariantData* data) : _data(data) {} | ||||||
| 
 | 
 | ||||||
|   FORCE_INLINE bool isNull() const { |   FORCE_INLINE bool isNull() const { | ||||||
|     return variantIsNull(_data); |     return variantIsNull(_data); | ||||||
| @@ -101,17 +101,17 @@ class VariantConstRef : public VariantTag, | |||||||
|     return as<T>(); |     return as<T>(); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   FORCE_INLINE VariantConstRef operator[](size_t index) const { |   FORCE_INLINE JsonVariantConst operator[](size_t index) const { | ||||||
|     return VariantConstRef(variantGetElement(_data, index)); |     return JsonVariantConst(variantGetElement(_data, index)); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   // operator[](const std::string&) const
 |   // operator[](const std::string&) const
 | ||||||
|   // operator[](const String&) const
 |   // operator[](const String&) const
 | ||||||
|   template <typename TString> |   template <typename TString> | ||||||
|   FORCE_INLINE |   FORCE_INLINE | ||||||
|       typename enable_if<IsString<TString>::value, VariantConstRef>::type |       typename enable_if<IsString<TString>::value, JsonVariantConst>::type | ||||||
|       operator[](const TString& key) const { |       operator[](const TString& key) const { | ||||||
|     return VariantConstRef(variantGetMember(_data, adaptString(key))); |     return JsonVariantConst(variantGetMember(_data, adaptString(key))); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   // operator[](char*) const
 |   // operator[](char*) const
 | ||||||
| @@ -119,9 +119,9 @@ class VariantConstRef : public VariantTag, | |||||||
|   // operator[](const __FlashStringHelper*) const
 |   // operator[](const __FlashStringHelper*) const
 | ||||||
|   template <typename TChar> |   template <typename TChar> | ||||||
|   FORCE_INLINE |   FORCE_INLINE | ||||||
|       typename enable_if<IsString<TChar*>::value, VariantConstRef>::type |       typename enable_if<IsString<TChar*>::value, JsonVariantConst>::type | ||||||
|       operator[](TChar* key) const { |       operator[](TChar* key) const { | ||||||
|     return VariantConstRef(variantGetMember(_data, adaptString(key))); |     return JsonVariantConst(variantGetMember(_data, adaptString(key))); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   // containsKey(const std::string&) const
 |   // containsKey(const std::string&) const
 | ||||||
| @@ -7,7 +7,7 @@ | |||||||
| #include <ArduinoJson/Polyfills/attributes.hpp> | #include <ArduinoJson/Polyfills/attributes.hpp> | ||||||
| #include <ArduinoJson/Polyfills/type_traits.hpp> | #include <ArduinoJson/Polyfills/type_traits.hpp> | ||||||
| #include <ArduinoJson/Variant/VariantTo.hpp> | #include <ArduinoJson/Variant/VariantTo.hpp> | ||||||
| #include "VariantConstRef.hpp" | #include "JsonVariantConst.hpp" | ||||||
|  |  | ||||||
| namespace ARDUINOJSON_NAMESPACE { | namespace ARDUINOJSON_NAMESPACE { | ||||||
|  |  | ||||||
|   | |||||||
| @@ -194,14 +194,14 @@ struct VariantComparer : ComparerBase { | |||||||
|  |  | ||||||
| template <typename T> | template <typename T> | ||||||
| struct Comparer< | struct Comparer< | ||||||
|     T, typename enable_if<is_convertible<T, VariantConstRef>::value>::type> |     T, typename enable_if<is_convertible<T, JsonVariantConst>::value>::type> | ||||||
|     : VariantComparer { |     : VariantComparer { | ||||||
|   explicit Comparer(const T& value) |   explicit Comparer(const T& value) | ||||||
|       : VariantComparer(VariantAttorney::getData(value)) {} |       : VariantComparer(VariantAttorney::getData(value)) {} | ||||||
| }; | }; | ||||||
|  |  | ||||||
| template <typename T> | template <typename T> | ||||||
| CompareResult compare(VariantConstRef lhs, const T& rhs) { | CompareResult compare(JsonVariantConst lhs, const T& rhs) { | ||||||
|   Comparer<T> comparer(rhs); |   Comparer<T> comparer(rhs); | ||||||
|   return variantAccept(VariantAttorney::getData(lhs), comparer); |   return variantAccept(VariantAttorney::getData(lhs), comparer); | ||||||
| } | } | ||||||
|   | |||||||
| @@ -149,7 +149,7 @@ 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, VariantRef dst) { | ||||||
|   dst.set(src.template as<VariantConstRef>()); |   dst.set(src.template as<JsonVariantConst>()); | ||||||
| } | } | ||||||
|  |  | ||||||
| }  // namespace ARDUINOJSON_NAMESPACE | }  // namespace ARDUINOJSON_NAMESPACE | ||||||
|   | |||||||
| @@ -11,10 +11,10 @@ | |||||||
|  |  | ||||||
| namespace ARDUINOJSON_NAMESPACE { | namespace ARDUINOJSON_NAMESPACE { | ||||||
|  |  | ||||||
| class VariantConstRef; | class JsonVariantConst; | ||||||
|  |  | ||||||
| template <typename T> | template <typename T> | ||||||
| CompareResult compare(VariantConstRef lhs, | CompareResult compare(JsonVariantConst lhs, | ||||||
|                       const T& rhs);  // VariantCompare.cpp |                       const T& rhs);  // VariantCompare.cpp | ||||||
|  |  | ||||||
| struct VariantOperatorTag {}; | struct VariantOperatorTag {}; | ||||||
| @@ -47,7 +47,7 @@ struct VariantOperators : VariantOperatorTag { | |||||||
|   // |   // | ||||||
|   // JsonVariant operator|(JsonVariant, JsonVariant) |   // JsonVariant operator|(JsonVariant, JsonVariant) | ||||||
|   template <typename T> |   template <typename T> | ||||||
|   friend typename enable_if<IsVariant<T>::value, VariantConstRef>::type |   friend typename enable_if<IsVariant<T>::value, JsonVariantConst>::type | ||||||
|   operator|(const TVariant& variant, T defaultValue) { |   operator|(const TVariant& variant, T defaultValue) { | ||||||
|     if (variant) |     if (variant) | ||||||
|       return variant; |       return variant; | ||||||
|   | |||||||
| @@ -44,30 +44,30 @@ struct Converter<VariantRef> : private VariantAttorney { | |||||||
|     return src; |     return src; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   static InvalidConversion<VariantConstRef, VariantRef> fromJson( |   static InvalidConversion<JsonVariantConst, VariantRef> fromJson( | ||||||
|       VariantConstRef); |       JsonVariantConst); | ||||||
|  |  | ||||||
|   static bool checkJson(VariantRef src) { |   static bool checkJson(VariantRef src) { | ||||||
|     VariantData* data = getData(src); |     VariantData* data = getData(src); | ||||||
|     return !!data; |     return !!data; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   static bool checkJson(VariantConstRef) { |   static bool checkJson(JsonVariantConst) { | ||||||
|     return false; |     return false; | ||||||
|   } |   } | ||||||
| }; | }; | ||||||
|  |  | ||||||
| template <> | template <> | ||||||
| struct Converter<VariantConstRef> : private VariantAttorney { | struct Converter<JsonVariantConst> : private VariantAttorney { | ||||||
|   static void toJson(VariantConstRef src, VariantRef dst) { |   static void toJson(JsonVariantConst src, VariantRef dst) { | ||||||
|     variantCopyFrom(getData(dst), getData(src), getPool(dst)); |     variantCopyFrom(getData(dst), getData(src), getPool(dst)); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   static VariantConstRef fromJson(VariantConstRef src) { |   static JsonVariantConst fromJson(JsonVariantConst src) { | ||||||
|     return VariantConstRef(getData(src)); |     return JsonVariantConst(getData(src)); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   static bool checkJson(VariantConstRef src) { |   static bool checkJson(JsonVariantConst src) { | ||||||
|     const VariantData* data = getData(src); |     const VariantData* data = getData(src); | ||||||
|     return !!data; |     return !!data; | ||||||
|   } |   } | ||||||
|   | |||||||
| @@ -6,7 +6,7 @@ | |||||||
|  |  | ||||||
| #include <ArduinoJson/Configuration.hpp> | #include <ArduinoJson/Configuration.hpp> | ||||||
| #include <ArduinoJson/Variant/Converter.hpp> | #include <ArduinoJson/Variant/Converter.hpp> | ||||||
| #include <ArduinoJson/Variant/VariantConstRef.hpp> | #include <ArduinoJson/Variant/JsonVariantConst.hpp> | ||||||
| #include <ArduinoJson/Variant/VariantOperators.hpp> | #include <ArduinoJson/Variant/VariantOperators.hpp> | ||||||
| #include <ArduinoJson/Variant/VariantTo.hpp> | #include <ArduinoJson/Variant/VariantTo.hpp> | ||||||
|  |  | ||||||
| @@ -119,7 +119,7 @@ class VariantRefBase : public VariantTag { | |||||||
|     return is<signed char>(); |     return is<signed char>(); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   FORCE_INLINE void shallowCopy(VariantConstRef target) { |   FORCE_INLINE void shallowCopy(JsonVariantConst target) { | ||||||
|     VariantData* data = getOrCreateData(); |     VariantData* data = getOrCreateData(); | ||||||
|     if (!data) |     if (!data) | ||||||
|       return; |       return; | ||||||
| @@ -258,8 +258,8 @@ class VariantRefBase : public VariantTag { | |||||||
|  private: |  private: | ||||||
|   FORCE_INLINE VariantRef getVariant() const; |   FORCE_INLINE VariantRef getVariant() const; | ||||||
|  |  | ||||||
|   FORCE_INLINE VariantConstRef getVariantConst() const { |   FORCE_INLINE JsonVariantConst getVariantConst() const { | ||||||
|     return VariantConstRef(getData()); |     return JsonVariantConst(getData()); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   FORCE_INLINE VariantRef getOrCreateVariant() const; |   FORCE_INLINE VariantRef getOrCreateVariant() const; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user