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

Vedi anche

<type_traits>
invoke