result_of, classe
Détermine le type de retour du type pouvant être appelé qui accepte les types d’argument spécifiés. Ajouté en C++14, déconseillé en C++17.
Syntaxe
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;
Paramètres
Fn
Type pouvant être appelé à interroger.
ArgTypes
Types de la liste d’arguments pour le type pouvant être appelé à interroger.
Notes
Utilisez ce modèle pour déterminer au moment de la compilation le type de résultat (Fn
ArgTypes
), où Fn est un type pouvant être appelé, référence à une fonction ou référence à un type pouvant être appelé, appelé à l’aide d’une liste d’arguments des types dans ArgTypes. Le type
membre du modèle de classe nomme le type de résultat de decltype(std::invoke(declval<Fn>(), declval<ArgTypes>()...))
si l’expression std::invoke(declval<Fn>(), declval<ArgTypes>()...)
non évaluée est bien formée. Sinon, le modèle de classe n’a aucun membre type
. Le type Fn et tous les types du pack de paramètres ArgTypes doivent être des types complets , void
ou des tableaux de limites inconnues. Déconseillé en faveur de invoke_result en C++17.
Spécifications
Header :<type_traits>
Espace de noms : std
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour