result_of-Klasse
Bestimmt den Rückgabetyp des aufrufbaren Typs, der die angegebenen Argumenttypen akzeptiert. In C++14 wurde in C++17 veraltet.
Syntax
template<class>
struct result_of; // Causes a static assert
template <class Fn, class... ArgTypes>
struct result_of<Fn(ArgTypes...)>;
// Helper type
template<class T>
using result_of_t = typename result_of<T>::type;
Parameter
Fn
Der abzufragende, aufgerufene Typ.
ArgTypes
Die Typen der Argumentliste für den aufrufbaren, abzufragenden Typ.
Hinweise
Verwenden Sie diese Vorlage, um zur Kompilierungszeit den Ergebnistyp (Fn
ArgTypes
) zu bestimmen, wobei Fn ein aufrufbarer Typ, ein Verweis auf Die Funktion oder ein Verweis auf den aufrufbaren Typ ist, der mithilfe einer Argumentliste der Typen in ArgTypes aufgerufen wird. Das type
Element der Klassenvorlage benennt den Ergebnistyp, wenn decltype(std::invoke(declval<Fn>(), declval<ArgTypes>()...))
der nicht ausgewertete Ausdruck std::invoke(declval<Fn>(), declval<ArgTypes>()...)
wohlgeformt ist. Andernfalls weist die Klassenvorlage kein Element type
auf. Der Typ "Fn" und alle Typen im Parameterpaket "ArgTypes " müssen vollständige Typen void
oder Arrays unbekannter Grenzen sein. Veraltet für invoke_result in C++17.
Anforderungen
Header:<type_traits>
Namespace: std