| Template | Comments | |
| If T has type “(possibly cv-qualified) pointer
 to T1” then the member typedef type
 denotes T1; otherwise, it denotes T. | ||
| If T is a referenceable type ([defns.referenceable]) or a
 cv void type then
 the member typedef type denotes
 remove_reference_t<T>*;
 otherwise, type denotes T. |