Classe invoke_result
Determina il tipo restituito del tipo chiamabile che accetta i tipi di argomento specificati in fase di compilazione. Aggiunta in C++17.
Sintassi
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;
Parametri
Callable
Tipo chiamabile su cui eseguire una query.
Args
Tipi dell'elenco di argomenti al tipo chiamabile su cui eseguire una query.
Osservazioni:
Usare questo modello per determinare il tipo di risultato Callable(Args...) in fase di compilazione, in cui Callable e tutti i tipi in Args sono qualsiasi tipo completo, una matrice di limiti sconosciuti o eventualmente qualificato cvvoid
. Il type
membro del modello di classe assegna un nome al tipo restituito Callable quando viene richiamato usando gli argomenti Args. Il type
membro viene definito solo se callable può essere chiamato quando viene richiamato utilizzando gli argomenti Args... in un contesto non valutato. In caso contrario, il modello di classe non dispone di alcun membro type
, che consente test SFINAE su un determinato set di tipi di argomento in fase di compilazione.
Requisiti
Intestazione:<type_traits>
Spazio dei nomi: std