diff --git a/include/nlohmann/detail/iterators/iteration_proxy.hpp b/include/nlohmann/detail/iterators/iteration_proxy.hpp index 837ce9c88..51e770469 100644 --- a/include/nlohmann/detail/iterators/iteration_proxy.hpp +++ b/include/nlohmann/detail/iterators/iteration_proxy.hpp @@ -148,13 +148,13 @@ auto get(const nlohmann::detail::iteration_proxy_value& i) -> decl namespace std { template -struct tuple_size<::nlohmann::detail::iteration_proxy_value> - : std::integral_constant {}; +class tuple_size<::nlohmann::detail::iteration_proxy_value> + : public std::integral_constant {}; template -struct tuple_element < - N, ::nlohmann::detail::iteration_proxy_value> +class tuple_element> { + public: using type = decltype( get(std::declval < ::nlohmann::detail::iteration_proxy_value> ())); diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp index dbcec732d..5341affda 100644 --- a/single_include/nlohmann/json.hpp +++ b/single_include/nlohmann/json.hpp @@ -1796,13 +1796,13 @@ auto get(const nlohmann::detail::iteration_proxy_value& i) -> decl namespace std { template -struct tuple_size<::nlohmann::detail::iteration_proxy_value> - : std::integral_constant {}; +class tuple_size<::nlohmann::detail::iteration_proxy_value> + : public std::integral_constant {}; template -struct tuple_element < - N, ::nlohmann::detail::iteration_proxy_value> +class tuple_element> { + public: using type = decltype( get(std::declval < ::nlohmann::detail::iteration_proxy_value> ()));