Solo quiero saber si ya hay uno proporcionado por la norma. Sé que es fácil de hacer uno mismo¿Existe un rasgo de tipo para eliminar el cv de nivel superior y la referencia a la vez?
// for C++03, use <tr1/type_traits> and std::tr1
#include <type_traits>
template<class T>
struct remove_toplevel{
typedef typename std::remove_reference<T>::type noref_T;
typedef typename std::remove_cv<noref_T>::type noref_nocv_T;
typedef noref_nocv_T type;
};
pero creo que se me olvidó algo allí o dieron la orden equivocado, por lo que sería bueno tener un preparado, si existe.
Usted probablemente tenga la intención de aplicar 'remove_cv' a' noref_T', no a 'T' como en su código anterior. – AnT
@Andrey: Woops, gracias, fue un error tipográfico. :) – Xeo