C++11 to ten sam typ dla szablonów

Czy jest możliwe sprawdzenie, czy typ T jest std::array dowolnego typu i rozmiaru?

Mogę sprawdzić dla konkretnej tablicy, na przykład:

    is_same<T, std::array<int,5>>::value

Ale chciałbym sprawdzić, czy T jest dowolną instancją std::array. Coś takiego jak poniżej (co oczywiście nie kompiluje się):

    is_same<T, std::array>::value

Czy jest jakiś sposób, aby to osiągnąć (może nie używając is_same)?

Author: user2052436, 2013-06-04

1 answers

Musisz napisać własne, ale to proste:

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 {};
 33
Author: jrok,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-03 20:35:41