#pragma once namespace nlohmann { namespace detail { template <typename ...Ts> struct make_void { using type = void; }; template <typename ...Ts> using void_t = typename make_void<Ts...>::type; } // namespace detail } // namespace nlohmann