19 General utilities library [utilities]

19.15 Metaprogramming and type traits [meta]

19.15.7 Transformations between types [meta.trans]

19.15.7.5 Pointer modifications [meta.trans.ptr]

Table 53 — Pointer modifications
Template
Comments
template<class T>
struct remove_­pointer;
If T has type “(possibly cv-qualified) pointer to T1” then the member typedef type names T1; otherwise, it names T.
template<class T>
struct add_­pointer;
If T names a referenceable type or a cv void type then the member typedef type names the same type as remove_­reference_­t<T>*; otherwise, type names T.