[meta.trans.cv] (original) (raw)

template<class T>
struct remove_const;

The member typedef type denotes the type formed by removing any top-level const-qualifier from T.

template<class T>
struct remove_volatile;

The member typedef type denotes the type formed by removing any top-level volatile-qualifier from T.

template<class T>
struct remove_cv;

The member typedef type denotes the type formed by removing any top-level cv-qualifiers from T.

template<class T>
struct add_const;

If T is a reference, function, or top-level const-qualified type, then type denotes T, otherwiseT const.

template<class T>
struct add_volatile;

If T is a reference, function, or top-level volatile-qualified type, then type denotes T, otherwiseT volatile.

template<class T>
struct add_cv;

The member typedef type denotesadd_const_t<add_volatile_t<T>>.