Added JsonVariant::is<JsonArrayConst/JsonObjectConst>() (issue #1412)

This commit is contained in:
Benoit Blanchon
2021-02-23 08:33:28 +01:00
parent 8a3f8510d6
commit b1eb273d5b
3 changed files with 28 additions and 0 deletions

View File

@ -85,6 +85,15 @@ class VariantRefBase : public VariantTag {
return variantIsArray(_data);
}
//
// bool is<ArrayConstRef> const;
// bool is<const ArrayConstRef> const;
template <typename T>
FORCE_INLINE typename enable_if<
is_same<typename remove_const<T>::type, ArrayConstRef>::value, bool>::type
is() const {
return variantIsArray(_data);
}
//
// bool is<ObjectRef> const;
// bool is<const ObjectRef> const;
template <typename T>
@ -93,6 +102,16 @@ class VariantRefBase : public VariantTag {
is() const {
return variantIsObject(_data);
}
//
// bool is<ObjectConstRef> const;
// bool is<const ObjectConstRef> const;
template <typename T>
FORCE_INLINE typename enable_if<
is_same<typename remove_const<T>::type, ObjectConstRef>::value,
bool>::type
is() const {
return variantIsObject(_data);
}
#if ARDUINOJSON_HAS_NULLPTR
//
// bool is<nullptr_t> const;