mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 16:14:11 +01:00 
			
		
		
		
	Fixed copying from JsonObjectConst and JsonArrayConst
This commit is contained in:
		| @@ -7,6 +7,8 @@ HEAD | ||||
| * Import functions in the ArduinoJson namespace to get clearer errors | ||||
| * Improved syntax highlighting in Arduino IDE | ||||
| * Removed default capacity of `DynamicJsonDocument` | ||||
| * `JsonArray::copyFrom()` accepts `JsonArrayConst` | ||||
| * `JsonVariant::set()` accepts `JsonArrayConst` and `JsonObjectConst` | ||||
|  | ||||
| > ### BREAKING CHANGES | ||||
| >  | ||||
|   | ||||
| @@ -96,7 +96,7 @@ class ArrayRef : public ArrayRefBase<CollectionData>, public Visitable { | ||||
|     return add().set(value); | ||||
|   } | ||||
|   // Adds the specified value at the end of the array. | ||||
|   FORCE_INLINE bool add(ArrayRef value) const { | ||||
|   FORCE_INLINE bool add(ArrayConstRef value) const { | ||||
|     return add().set(value); | ||||
|   } | ||||
|   // | ||||
| @@ -150,7 +150,7 @@ class ArrayRef : public ArrayRefBase<CollectionData>, public Visitable { | ||||
|   } | ||||
|  | ||||
|   // Copy a ArrayRef | ||||
|   FORCE_INLINE bool copyFrom(ArrayRef src) const { | ||||
|   FORCE_INLINE bool copyFrom(ArrayConstRef src) const { | ||||
|     if (!_data || !src._data) return false; | ||||
|     return _data->copyFrom(*src._data, _pool); | ||||
|   } | ||||
|   | ||||
| @@ -64,6 +64,10 @@ inline bool VariantRef::set(ArrayRef array) const { | ||||
|   return to<ArrayRef>().copyFrom(array); | ||||
| } | ||||
|  | ||||
| inline bool VariantRef::set(ArrayConstRef array) const { | ||||
|   return to<ArrayRef>().copyFrom(array); | ||||
| } | ||||
|  | ||||
| inline bool VariantRef::set(const ArraySubscript& value) const { | ||||
|   return set(value.as<VariantRef>()); | ||||
| } | ||||
| @@ -72,6 +76,10 @@ inline bool VariantRef::set(ObjectRef object) const { | ||||
|   return to<ObjectRef>().copyFrom(object); | ||||
| } | ||||
|  | ||||
| inline bool VariantRef::set(ObjectConstRef object) const { | ||||
|   return to<ObjectRef>().copyFrom(object); | ||||
| } | ||||
|  | ||||
| template <typename TString> | ||||
| inline bool VariantRef::set(const ObjectSubscript<TString>& value) const { | ||||
|   return set(value.template as<VariantRef>()); | ||||
|   | ||||
| @@ -203,8 +203,10 @@ class VariantRef : public VariantRefBase<VariantData>, | ||||
|   bool set(VariantRef value) const; | ||||
|  | ||||
|   FORCE_INLINE bool set(ArrayRef array) const; | ||||
|   FORCE_INLINE bool set(ArrayConstRef array) const; | ||||
|   FORCE_INLINE bool set(const ArraySubscript &) const; | ||||
|   FORCE_INLINE bool set(ObjectRef object) const; | ||||
|   FORCE_INLINE bool set(ObjectConstRef object) const; | ||||
|   template <typename TString> | ||||
|   FORCE_INLINE bool set(const ObjectSubscript<TString> &) const; | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user