20 General utilities library [utilities]

20.9 Metaprogramming and type traits [meta]

20.9.7 Transformations between types [meta.trans]

20.9.7.5 Pointer modifications [meta.trans.ptr]

Table 56 — Pointer modifications
TemplateComments
template <class T>
struct remove_pointer;
If T has type “(possibly cv-qualified) pointer to T1” then the member typedef type shall name T1; otherwise, it shall name T.
template <class T>
struct add_pointer;
The member typedef type shall name the same type as remove_reference<T>::type*.