Kann man diesen Typ überprüfen? T
ist ein std::array
beliebiger Art und Größe?
Ich kann zum Beispiel nach einem bestimmten Array suchen:
is_same<T, std::array<int,5>>::value
Aber das würde ich gerne prüfen T
ist eine Instanziierung von std::array
. So etwas wie unten (was natürlich nicht kompiliert):
is_same<T, std::array>::value
Gibt es eine Möglichkeit, dies zu erreichen (vielleicht nicht mit is_same
)?
Sie können ein Generikum schreiben
is_same_template
und sagis_same_template <T::template array, std::array>
. Der Compiler muss jedoch die in c++11 eingefügten Klassennamenregeln unterstützen.– Johannes Schaub – litb
4. Juni 2013 um 20:34 Uhr