Freigeben über


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 (FnArgTypes) 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 typeauf. Der Typ "Fn" und alle Typen im Parameterpaket "ArgTypes " müssen vollständige Typen voidoder Arrays unbekannter Grenzen sein. Veraltet für invoke_result in C++17.

Anforderungen

Header:<type_traits>

Namespace: std

Siehe auch

<type_traits>
invoke_result Klasse