Mam szablon, który wygląda tak
template <typename T> class Foo
{
public:
Foo(const T& t) : _t(t) {}
private:
const T _t;
};
Czy istnieje sprytny sposób metaprogramowania szablonów, aby uniknąć używania stałej referencji w przypadkach, gdy typ argumentu jest trywialny, jak bool lub char? lubić:
Foo(stl::smarter_argument<T>::type t) : _t(t) {}
Foo
.