C ++ 11 static_assert (und darin zu verwendende Funktionen)

static_assert scheint ein sehr schönes Feature zusammen mit Vorlagen zu sein.

Ich habe jedoch Probleme, Funktionen in der Standardbibliothek zu finden, mit denen ich verschiedene Tests zur Kompilierungszeit durchführen kann.

Zum Beispiel suche ich eine Funktion, um zu überprüfen, ob ein Typ ein Subtyp eines anderen ist.boost::is_base_of erledigt der job allerdings eine vergleichbare funktion im std, so muss ich mich nicht auf boost verlassen.

Grundsätzlich gibt es eine gute Quelle für eine Liste von Funktionen, die in verwendet werden könnenstatic_assert und sind in der Standardbibliothek von C ++ 11 enthalten?

Wann iststatic_assert hingerichtet? Kann ich es an einer beliebigen Stelle in eine Vorlage einfügen und es wird für jede Vorlageninstanzierung ausgewertet? Könnte es verwendet werden, um Vorlagenparameter auf einen bestimmten Untertyp einer Klasse zu beschränken?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage