[meta.trans.cv]
The member typedef type denotes the type formed by removing any top-level const-qualifier from T.
The member typedef type denotes the type formed by removing any top-level volatile-qualifier from T.
The member typedef type denotes the type formed by removing any top-level cv-qualifiers from T.
The member typedef type denotes const T.
The member typedef type denotes volatile T.
The member typedef type denotes add_const_t<add_volatile_t<T>>.