// ArduinoJson - https://arduinojson.org // Copyright © 2014-2022, Benoit BLANCHON // MIT License #pragma once #include #include #include namespace ARDUINOJSON_NAMESPACE { template class VariantProxy; template class MemberDataSource; template class ObjectShortcuts { public: // containsKey(const std::string&) const // containsKey(const String&) const template FORCE_INLINE typename enable_if::value, bool>::type containsKey(const TString& key) const; // containsKey(char*) const // containsKey(const char*) const // containsKey(const __FlashStringHelper*) const template FORCE_INLINE typename enable_if::value, bool>::type containsKey(TChar* key) const; // operator[](const std::string&) const // operator[](const String&) const template FORCE_INLINE typename enable_if< IsString::value, VariantProxy > >::type operator[](const TString& key) const; // operator[](char*) const // operator[](const char*) const // operator[](const __FlashStringHelper*) const template FORCE_INLINE typename enable_if< IsString::value, VariantProxy > >::type operator[](TChar* key) const; // createNestedArray(const std::string&) const // createNestedArray(const String&) const template FORCE_INLINE ArrayRef createNestedArray(const TString& key) const; // createNestedArray(char*) const // createNestedArray(const char*) const // createNestedArray(const __FlashStringHelper*) const template FORCE_INLINE ArrayRef createNestedArray(TChar* key) const; // createNestedObject(const std::string&) const // createNestedObject(const String&) const template ObjectRef createNestedObject(const TString& key) const; // createNestedObject(char*) const // createNestedObject(const char*) const // createNestedObject(const __FlashStringHelper*) const template ObjectRef createNestedObject(TChar* key) const; private: const TObject* impl() const { return static_cast(this); } }; } // namespace ARDUINOJSON_NAMESPACE