invoke_result-Klasse
Bestimmt den Rückgabetyp des aufrufbaren Typs, der die angegebenen Argumenttypen zur Kompilierungszeit verwendet. In C++17 hinzugefügt.
Syntax
template <class Callable, class... Args>
struct invoke_result<Callable(Args...)>;
// Helper type
template<class Callable, class... Args>
using invoke_result_t = typename invoke_result<Callable, Args...>::type;
Parameter
Aufrufbar
Der abzufragende, aufgerufene Typ.
args
Die Typen der Argumentliste für den aufrufbaren, abzufragenden Typ.
Hinweise
Verwenden Sie diese Vorlage, um den Ergebnistyp von Callable(Args...) zur Kompilierungszeit zu bestimmen, wobei "Aufruffähig" und alle Typen in "Args" alle vollständigen Typen, ein Array unbekannter Gebundenes oder möglicherweise cv-qualifizierter void
Typ sind. The type
member of the class template names the return type of Callable when invoked using the arguments Args.... Das type
Element wird nur definiert, wenn aufrufbar aufgerufen werden kann, wenn die Argumente Args verwendet werden... in einem nicht ausgewerteten Kontext. Andernfalls verfügt die Klassenvorlage über kein Element type
, wodurch SFINAE-Tests für einen bestimmten Satz von Argumenttypen zur Kompilierungszeit zulässig sind.
Anforderungen
Header:<type_traits>
Namespace: std