diff --git a/src/ArduinoJson/Variant/VariantAttorney.hpp b/src/ArduinoJson/Variant/VariantAttorney.hpp index 60ab6907..977f7162 100644 --- a/src/ArduinoJson/Variant/VariantAttorney.hpp +++ b/src/ArduinoJson/Variant/VariantAttorney.hpp @@ -14,20 +14,6 @@ ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE // Grants access to the internal variant API class VariantAttorney { - // Tells whether getData() returns a const pointer - template - struct ResultOfGetData { - protected: // <- to avoid GCC's "all member functions in class are private" - static int probe(const VariantData*); - static char probe(VariantData*); - - static TClient& client; - - public: - typedef typename conditional::type type; - }; - public: template FORCE_INLINE static ResourceManager* getResourceManager(TClient& client) { @@ -35,8 +21,8 @@ class VariantAttorney { } template - FORCE_INLINE static typename ResultOfGetData::type getData( - TClient& client) { + FORCE_INLINE static auto getData(TClient& client) + -> decltype(client.getData()) { return client.getData(); }