[/ Copyright 2017 Glen Joseph Fernandes (glenjofe@gmail.com) Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt). ] [section:make_void make_void] template struct make_void { typedef void type; }; template using void_t = typename make_void::type; __type The type `void` for all `T`. __header ` #include ` or ` #include ` [table Examples [[Expression] [Result Type]] [[`make_void::type`][`void`]] [[`make_void::type`] [`void`]] [[`make_void::type`] [`void`]] [[`make_void::type`] [`void`]] [[`make_void::type`] [`void`]] [[`make_void<>::type`] [`void`]] [[`make_void::type`] [`void`]] ] [all_compilers] However, the type alias `void_t` is only available if the compiler supports template aliases. Further, in the absence of variadic-template support, `make_void` only supports up to 5 parameters. [endsect]