Voglio solo sapere se ce n'è già uno fornito dallo standard. So che è facile fare uno voi stessiEsiste un tipo-tratto per rimuovere cv e riferimento di primo livello contemporaneamente?
// 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;
};
ma penso che ho dimenticato qualcosa in là o avuto l'ordine sbagliato, quindi sarebbe bello avere uno preparato, se ne esiste uno.
È probabilmente intendeva applicare 'remove_cv' a' noref_T', non a 'T' come nel tuo codice qui sopra. – AnT
@Andrey: Woops, grazie, è stato un refuso. :) – Xeo