C++ 11 es el rasgo de tipo is_same para las plantillas
templates c++11 (1)
Tienes que escribir el tuyo, pero es simple:
template<typename>
struct is_std_array : std::false_type {};
template<typename T, std::size_t N>
struct is_std_array<std::array<T,N>> : std::true_type {};
¿Es posible verificar que el tipo T
es una serie std::array
de tipo y tamaño arbitrarios?
Puedo verificar una matriz en particular, por ejemplo:
is_same<T, std::array<int,5>>::value
Pero me gustaría comprobar que T
es una instanciación de std::array
. Algo como abajo (que, por supuesto, no compila):
is_same<T, std::array>::value
¿Hay alguna manera de lograr esto (tal vez no usar is_same
)?