J'ai un modèle qui ressemble à ceci
template <typename T> class Foo
{
public:
Foo(const T& t) : _t(t) {}
private:
const T _t;
};
Existe-t-il un moyen de métaprogrammation de modèle avisé pour éviter d'utiliser une référence const dans les cas où le type d'argument est trivial comme un bool ou un char? comme:
Foo(stl::smarter_argument<T>::type t) : _t(t) {}
Foo
.