Partager via


invoke_result, classe

Détermine le type de retour du type pouvant être appelé qui prend les types d’arguments spécifiés au moment de la compilation. Ajouté dans C++17.

Syntaxe

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;

Paramètres

Callable
Type pouvant être appelé à interroger.

Args
Types de la liste d’arguments pour le type pouvant être appelé à interroger.

Notes

Utilisez ce modèle pour déterminer le type de résultat callable(Args...) au moment de la compilation, où Callable et tous les types dans Args sont un type complet, un tableau de limites inconnues ou éventuellement un cv qualifié void. Le type membre du modèle de classe nomme le type de retour Callable lorsqu’il est appelé à l’aide des arguments Args.... Le type membre est défini uniquement si Callable peut être appelé lorsqu’il est appelé à l’aide des arguments Args... dans un contexte non évalué. Sinon, le modèle de classe n’a aucun membre type, ce qui permet aux tests SFINAE sur un ensemble particulier de types d’arguments au moment de la compilation.

Spécifications

Header :<type_traits>

Espace de noms : std

Voir aussi

<type_traits>
invoke