From d02f31bb130fd54fa2891cbc28fbc01f603eca6c Mon Sep 17 00:00:00 2001 From: Tom Tromey <tom@tromey.com> Date: Sun, 15 Oct 2023 13:40:03 -0600 Subject: Use C++17 void_t C++17 has void_t and make_void, so gdbsupport/traits.h can be simplified. Approved-By: Pedro Alves <pedro@palves.net> --- gdbsupport/traits.h | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) (limited to 'gdbsupport') diff --git a/gdbsupport/traits.h b/gdbsupport/traits.h index f6bb649..277e117 100644 --- a/gdbsupport/traits.h +++ b/gdbsupport/traits.h @@ -43,15 +43,6 @@ namespace gdb { -/* Pre C++14-safe (CWG 1558) version of C++17's std::void_t. See - <http://en.cppreference.com/w/cpp/types/void_t>. */ - -template<typename... Ts> -struct make_void { typedef void type; }; - -template<typename... Ts> -using void_t = typename make_void<Ts...>::type; - /* Implementation of the detection idiom: - http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4502.pdf @@ -79,7 +70,7 @@ struct detector /* Implementation of the detection idiom (positive case). */ template<typename Default, template<typename...> class Op, typename... Args> -struct detector<Default, void_t<Op<Args...>>, Op, Args...> +struct detector<Default, std::void_t<Op<Args...>>, Op, Args...> { using value_t = std::true_type; using type = Op<Args...>; -- cgit v1.1