Freigeben über


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 voidTyp 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

Siehe auch

<type_traits>
invoke