mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 16:14:11 +01:00 
			
		
		
		
	variantGetOrAddMember() takes an adapted string like all its siblings
				
					
				
			This commit is contained in:
		| @@ -25,7 +25,8 @@ class MemberDataSource { | |||||||
|  |  | ||||||
|   FORCE_INLINE VariantData* getOrCreateData() const { |   FORCE_INLINE VariantData* getOrCreateData() const { | ||||||
|     return variantGetOrAddMember(VariantAttorney::getOrCreateData(_upstream), |     return variantGetOrAddMember(VariantAttorney::getOrCreateData(_upstream), | ||||||
|                                  _key, VariantAttorney::getPool(_upstream)); |                                  adaptString(_key), | ||||||
|  |                                  VariantAttorney::getPool(_upstream)); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  private: |  private: | ||||||
|   | |||||||
| @@ -74,29 +74,19 @@ inline NO_INLINE VariantData* variantGetOrAddElement(VariantData* var, | |||||||
|   return var != 0 ? var->getOrAddElement(index, pool) : 0; |   return var != 0 ? var->getOrAddElement(index, pool) : 0; | ||||||
| } | } | ||||||
|  |  | ||||||
| template <typename AdaptedString> | template <typename TAdaptedString> | ||||||
| VariantData* variantGetMember(const VariantData* var, AdaptedString key) { | VariantData* variantGetMember(const VariantData* var, TAdaptedString key) { | ||||||
|   if (!var) |   if (!var) | ||||||
|     return 0; |     return 0; | ||||||
|   return var->getMember(key); |   return var->getMember(key); | ||||||
| } | } | ||||||
|  |  | ||||||
| // TODO: this function is inconsitent with the others: | template <typename TAdaptedString> | ||||||
| // it should take an adapted string | VariantData* variantGetOrAddMember(VariantData* var, TAdaptedString key, | ||||||
| template <typename TChar> |  | ||||||
| VariantData* variantGetOrAddMember(VariantData* var, TChar* key, |  | ||||||
|                                    MemoryPool* pool) { |                                    MemoryPool* pool) { | ||||||
|   if (!var) |   if (!var) | ||||||
|     return 0; |     return 0; | ||||||
|   return var->getOrAddMember(adaptString(key), pool); |   return var->getOrAddMember(key, pool); | ||||||
| } |  | ||||||
|  |  | ||||||
| template <typename TString> |  | ||||||
| VariantData* variantGetOrAddMember(VariantData* var, const TString& key, |  | ||||||
|                                    MemoryPool* pool) { |  | ||||||
|   if (!var) |  | ||||||
|     return 0; |  | ||||||
|   return var->getOrAddMember(adaptString(key), pool); |  | ||||||
| } | } | ||||||
|  |  | ||||||
| inline bool variantIsNull(const VariantData* var) { | inline bool variantIsNull(const VariantData* var) { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user