mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 00:32:37 +01:00 
			
		
		
		
	Remove ArrayFunctions.hpp and ObjectFunctions.hpp
				
					
				
			This commit is contained in:
		| @@ -1,15 +0,0 @@ | ||||
| // ArduinoJson - https://arduinojson.org | ||||
| // Copyright © 2014-2022, Benoit BLANCHON | ||||
| // MIT License | ||||
|  | ||||
| #pragma once | ||||
|  | ||||
| #include <ArduinoJson/Collection/CollectionData.hpp> | ||||
|  | ||||
| namespace ARDUINOJSON_NAMESPACE { | ||||
|  | ||||
| inline VariantData* arrayAdd(CollectionData* arr, MemoryPool* pool) { | ||||
|   return arr ? arr->addElement(pool) : 0; | ||||
| } | ||||
|  | ||||
| }  // namespace ARDUINOJSON_NAMESPACE | ||||
| @@ -4,7 +4,6 @@ | ||||
|  | ||||
| #pragma once | ||||
|  | ||||
| #include <ArduinoJson/Array/ArrayFunctions.hpp> | ||||
| #include <ArduinoJson/Array/ArrayIterator.hpp> | ||||
| #include <ArduinoJson/Array/ElementProxy.hpp> | ||||
| #include <ArduinoJson/Variant/VariantAttorney.hpp> | ||||
| @@ -124,7 +123,9 @@ class ArrayRef : public ArrayRefBase<CollectionData>, | ||||
|   } | ||||
|  | ||||
|   VariantRef add() const { | ||||
|     return VariantRef(_pool, arrayAdd(_data, _pool)); | ||||
|     if (!_data) | ||||
|       return VariantRef(); | ||||
|     return VariantRef(_pool, _data->addElement(_pool)); | ||||
|   } | ||||
|  | ||||
|   template <typename T> | ||||
|   | ||||
| @@ -1,25 +0,0 @@ | ||||
| // ArduinoJson - https://arduinojson.org | ||||
| // Copyright © 2014-2022, Benoit BLANCHON | ||||
| // MIT License | ||||
|  | ||||
| #pragma once | ||||
|  | ||||
| #include <ArduinoJson/Collection/CollectionData.hpp> | ||||
|  | ||||
| namespace ARDUINOJSON_NAMESPACE { | ||||
|  | ||||
| template <typename TAdaptedString> | ||||
| inline VariantData* objectGetMember(const CollectionData* obj, | ||||
|                                     TAdaptedString key) { | ||||
|   if (!obj) | ||||
|     return 0; | ||||
|   return obj->getMember(key); | ||||
| } | ||||
|  | ||||
| template <typename TAdaptedString> | ||||
| void objectRemove(CollectionData* obj, TAdaptedString key) { | ||||
|   if (!obj) | ||||
|     return; | ||||
|   obj->removeMember(key); | ||||
| } | ||||
| }  // namespace ARDUINOJSON_NAMESPACE | ||||
| @@ -5,7 +5,6 @@ | ||||
| #pragma once | ||||
|  | ||||
| #include <ArduinoJson/Object/MemberProxy.hpp> | ||||
| #include <ArduinoJson/Object/ObjectFunctions.hpp> | ||||
| #include <ArduinoJson/Object/ObjectIterator.hpp> | ||||
|  | ||||
| namespace ARDUINOJSON_NAMESPACE { | ||||
| @@ -46,6 +45,13 @@ class ObjectRefBase { | ||||
|     return collectionToVariant(_data); | ||||
|   } | ||||
|  | ||||
|   template <typename TAdaptedString> | ||||
|   inline VariantData* getMember(TAdaptedString key) const { | ||||
|     if (!_data) | ||||
|       return 0; | ||||
|     return _data->getMember(key); | ||||
|   } | ||||
|  | ||||
|   ObjectRefBase(TData* data) : _data(data) {} | ||||
|   TData* _data; | ||||
| }; | ||||
| @@ -75,7 +81,7 @@ class ObjectConstRef : public ObjectRefBase<const CollectionData>, | ||||
|   // containsKey(const String&) const | ||||
|   template <typename TString> | ||||
|   FORCE_INLINE bool containsKey(const TString& key) const { | ||||
|     return objectGetMember(_data, adaptString(key)) != 0; | ||||
|     return getMember(adaptString(key)) != 0; | ||||
|   } | ||||
|  | ||||
|   // containsKey(char*) const | ||||
| @@ -83,7 +89,7 @@ class ObjectConstRef : public ObjectRefBase<const CollectionData>, | ||||
|   // containsKey(const __FlashStringHelper*) const | ||||
|   template <typename TChar> | ||||
|   FORCE_INLINE bool containsKey(TChar* key) const { | ||||
|     return objectGetMember(_data, adaptString(key)) != 0; | ||||
|     return getMember(adaptString(key)) != 0; | ||||
|   } | ||||
|  | ||||
|   // operator[](const std::string&) const | ||||
| @@ -92,7 +98,7 @@ class ObjectConstRef : public ObjectRefBase<const CollectionData>, | ||||
|   FORCE_INLINE | ||||
|       typename enable_if<IsString<TString>::value, VariantConstRef>::type | ||||
|       operator[](const TString& key) const { | ||||
|     return VariantConstRef(objectGetMember(_data, adaptString(key))); | ||||
|     return VariantConstRef(getMember(adaptString(key))); | ||||
|   } | ||||
|  | ||||
|   // operator[](char*) const | ||||
| @@ -102,7 +108,7 @@ class ObjectConstRef : public ObjectRefBase<const CollectionData>, | ||||
|   FORCE_INLINE | ||||
|       typename enable_if<IsString<TChar*>::value, VariantConstRef>::type | ||||
|       operator[](TChar* key) const { | ||||
|     return VariantConstRef(objectGetMember(_data, adaptString(key))); | ||||
|     return VariantConstRef(getMember(adaptString(key))); | ||||
|   } | ||||
|  | ||||
|   FORCE_INLINE bool operator==(ObjectConstRef rhs) const { | ||||
| @@ -194,7 +200,7 @@ class ObjectRef : public ObjectRefBase<CollectionData>, | ||||
|   // remove(const String&) const | ||||
|   template <typename TString> | ||||
|   FORCE_INLINE void remove(const TString& key) const { | ||||
|     objectRemove(_data, adaptString(key)); | ||||
|     removeMember(adaptString(key)); | ||||
|   } | ||||
|  | ||||
|   // remove(char*) const | ||||
| @@ -202,19 +208,19 @@ class ObjectRef : public ObjectRefBase<CollectionData>, | ||||
|   // remove(const __FlashStringHelper*) const | ||||
|   template <typename TChar> | ||||
|   FORCE_INLINE void remove(TChar* key) const { | ||||
|     objectRemove(_data, adaptString(key)); | ||||
|     removeMember(adaptString(key)); | ||||
|   } | ||||
|  | ||||
|   template <typename TString> | ||||
|   FORCE_INLINE typename enable_if<IsString<TString>::value, bool>::type | ||||
|   containsKey(const TString& key) const { | ||||
|     return objectGetMember(_data, adaptString(key)) != 0; | ||||
|     return getMember(adaptString(key)) != 0; | ||||
|   } | ||||
|  | ||||
|   template <typename TChar> | ||||
|   FORCE_INLINE typename enable_if<IsString<TChar*>::value, bool>::type | ||||
|   containsKey(TChar* key) const { | ||||
|     return objectGetMember(_data, adaptString(key)) != 0; | ||||
|     return getMember(adaptString(key)) != 0; | ||||
|   } | ||||
|  | ||||
|   template <typename TString> | ||||
| @@ -246,6 +252,13 @@ class ObjectRef : public ObjectRefBase<CollectionData>, | ||||
|     return collectionToVariant(_data); | ||||
|   } | ||||
|  | ||||
|   template <typename TAdaptedString> | ||||
|   void removeMember(TAdaptedString key) const { | ||||
|     if (!_data) | ||||
|       return; | ||||
|     _data->removeMember(key); | ||||
|   } | ||||
|  | ||||
|  private: | ||||
|   MemoryPool* _pool; | ||||
| }; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user