mirror of
https://github.com/eledio-devices/thirdparty-ArduinoJson.git
synced 2025-11-01 16:14:05 +01:00
Separate string adapter from storage policy
This commit is contained in:
@@ -40,12 +40,13 @@ void objectRemove(CollectionData *obj, TAdaptedString key) {
|
||||
obj->removeMember(key);
|
||||
}
|
||||
|
||||
template <typename TAdaptedString>
|
||||
template <typename TAdaptedString, typename TStoragePolicy>
|
||||
inline VariantData *objectGetOrAddMember(CollectionData *obj,
|
||||
TAdaptedString key, MemoryPool *pool) {
|
||||
TAdaptedString key, MemoryPool *pool,
|
||||
TStoragePolicy storage_policy) {
|
||||
if (!obj)
|
||||
return 0;
|
||||
|
||||
return obj->getOrAddMember(key, pool);
|
||||
return obj->getOrAddMember(key, pool, storage_policy);
|
||||
}
|
||||
} // namespace ARDUINOJSON_NAMESPACE
|
||||
|
||||
@@ -196,7 +196,8 @@ class ObjectRef : public ObjectRefBase<CollectionData>,
|
||||
template <typename TString>
|
||||
FORCE_INLINE VariantRef getOrAddMember(const TString& key) const {
|
||||
return VariantRef(_pool,
|
||||
objectGetOrAddMember(_data, adaptString(key), _pool));
|
||||
objectGetOrAddMember(_data, adaptString(key), _pool,
|
||||
getStringStoragePolicy(key)));
|
||||
}
|
||||
|
||||
// getOrAddMember(char*) const
|
||||
@@ -205,7 +206,8 @@ class ObjectRef : public ObjectRefBase<CollectionData>,
|
||||
template <typename TChar>
|
||||
FORCE_INLINE VariantRef getOrAddMember(TChar* key) const {
|
||||
return VariantRef(_pool,
|
||||
objectGetOrAddMember(_data, adaptString(key), _pool));
|
||||
objectGetOrAddMember(_data, adaptString(key), _pool,
|
||||
getStringStoragePolicy(key)));
|
||||
}
|
||||
|
||||
FORCE_INLINE bool operator==(ObjectRef rhs) const {
|
||||
|
||||
Reference in New Issue
Block a user