Added JsonVariant::containsKey()

This commit is contained in:
Benoit Blanchon
2019-03-22 09:00:00 +01:00
parent c8e49a7e4e
commit 6ec5ba521b
13 changed files with 142 additions and 33 deletions

View File

@@ -27,21 +27,6 @@ class ObjectRefBase {
objectAccept(_data, visitor);
}
// containsKey(const std::string&) const
// containsKey(const String&) const
template <typename TString>
FORCE_INLINE bool containsKey(const TString& key) const {
return objectContainsKey(_data, adaptString(key));
}
// containsKey(char*) const
// containsKey(const char*) const
// containsKey(const __FlashStringHelper*) const
template <typename TChar>
FORCE_INLINE bool containsKey(TChar* key) const {
return objectContainsKey(_data, adaptString(key));
}
FORCE_INLINE bool isNull() const {
return _data == 0;
}
@@ -83,6 +68,21 @@ class ObjectConstRef : public ObjectRefBase<const CollectionData>,
return iterator();
}
// containsKey(const std::string&) const
// containsKey(const String&) const
template <typename TString>
FORCE_INLINE bool containsKey(const TString& key) const {
return !getMember(key).isUndefined();
}
// containsKey(char*) const
// containsKey(const char*) const
// containsKey(const __FlashStringHelper*) const
template <typename TChar>
FORCE_INLINE bool containsKey(TChar* key) const {
return !getMember(key).isUndefined();
}
// getMember(const std::string&) const
// getMember(const String&) const
template <typename TString>