]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Use C++17 void_t
authorTom Tromey <tom@tromey.com>
Sun, 15 Oct 2023 19:40:03 +0000 (13:40 -0600)
committerTom Tromey <tom@tromey.com>
Wed, 29 Nov 2023 21:29:44 +0000 (14:29 -0700)
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

index f6bb64911be11ed7659bccff43abb2d35a54ecf6..277e117bead933fead03e5e720eadf075a886ae6 100644 (file)
 
 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...>;