mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 16:14:11 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			45 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| // ArduinoJson - https://arduinojson.org
 | |
| // Copyright © 2014-2022, Benoit BLANCHON
 | |
| // MIT License
 | |
| 
 | |
| #pragma once
 | |
| 
 | |
| #include <ArduinoJson/Collection/CollectionData.hpp>
 | |
| 
 | |
| namespace ARDUINOJSON_NAMESPACE {
 | |
| 
 | |
| template <typename TVisitor>
 | |
| typename TVisitor::result_type objectAccept(const CollectionData *obj,
 | |
|                                             TVisitor &visitor) {
 | |
|   if (obj)
 | |
|     return visitor.visitObject(*obj);
 | |
|   else
 | |
|     return visitor.visitNull();
 | |
| }
 | |
| 
 | |
| 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);
 | |
| }
 | |
| 
 | |
| template <typename TAdaptedString, typename TStoragePolicy>
 | |
| inline VariantData *objectGetOrAddMember(CollectionData *obj,
 | |
|                                          TAdaptedString key, MemoryPool *pool,
 | |
|                                          TStoragePolicy storage_policy) {
 | |
|   if (!obj)
 | |
|     return 0;
 | |
| 
 | |
|   return obj->getOrAddMember(key, pool, storage_policy);
 | |
| }
 | |
| }  // namespace ARDUINOJSON_NAMESPACE
 |