Will remove the top level qualifiers (const and/or volatile, if present) from a type.
typedef typename remove_cv<T>::type non_qualified_type;
The resulting "non_qualified_type" will be the same as the input type T, except that if T is cv qualified, the qualifiers will be removed.
typedef typename remove_cv <const int>::type Int; Int has type int.