[/ Copyright 2007 John Maddock. 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:add_pointer add_pointer] template struct add_pointer { typedef __below type; }; template using add_pointer_t = typename add_pointer::type; // C++11 and above __type The same type as `remove_reference::type*`. The rationale for this template is that it produces the same type as `decltype(&t)`, where `t` is an object of type `T`. __std_ref 8.3.1. __header ` #include ` or ` #include ` [table Examples [ [Expression] [Result Type]] [[`add_pointer::type`][`int*`]] [[`add_pointer::type`] [`int const*`]] [[`add_pointer::type`] [`int**`]] [[`add_pointer::type`] [`int**`]] ] [all_compilers] [endsect]