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, voido matrici di limiti sconosciuti. Deprecato a favore di invoke_result in C++17.

Requisiti

Intestazione:<type_traits>

Spazio dei nomi: std

Vedi anche

<type_traits>
Classe invoke_result