Classe result_of
Determina il tipo restituito del tipo chiamabile che accetta i tipi di argomento specificati. Aggiunta in C++14, deprecata in C++17.
Sintassi
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;
Parametri
Fn
Tipo chiamabile su cui eseguire una query.
ArgTypes
Tipi dell'elenco di argomenti al tipo chiamabile su cui eseguire una query.
Osservazioni:
Usare questo modello per determinare in fase di compilazione il tipo di risultato di Fn
(ArgTypes
), dove Fn è un tipo chiamabile, un riferimento alla funzione o un riferimento al tipo chiamabile, richiamato usando un elenco di argomenti dei tipi in ArgTypes. Il type
membro del modello di classe assegna un nome al tipo di risultato di decltype(std::invoke(declval<Fn>(), declval<ArgTypes>()...))
se l'espressione std::invoke(declval<Fn>(), declval<ArgTypes>()...)
non valutata è ben formata. In caso contrario, il modello di classe non ha alcun membro type
. Il tipo Fn e tutti i tipi nel pacchetto di parametri ArgTypes devono essere tipi completi, void
o matrici di limiti sconosciuti. Deprecato a favore di invoke_result in C++17.
Requisiti
Intestazione:<type_traits>
Spazio dei nomi: std