Update für C ++ 17: Mit den Falteausdrücken von C ++ 17 wird dies fast trivial:
%Vor% Ursprüngliche Antwort (C ++ 11/14):
Sie könnten die Pack-Erweiterung und eine statische Version von std::all_of
verwenden:
Die Paketerweiterung wird auf die Liste der Werte erweitert, indem Sie jeden Typ in Requirements...
für das Fragezeichen in std::is_base_of<Type, ?>::value
einfügen, dh für die erste Zeile in main wird sie für den zweiten in static_all_of<true, true>
erweitert Zeile wird es static_all_of<true, false, true>
Nur für zukünftige Referenz, weil ich gerade dieses Problem hatte, können Sie jetzt mit C ++ 17 falte Ausdrücke wie folgt verwenden:
%Vor%Tags und Links c++ templates variadic-templates typetraits