Compartilhar via


Classe invoke_result

Determina o tipo de retorno do tipo que pode ser chamado que usa os tipos de argumento especificados no tempo de compilação. Adicionado em C++17.

Sintaxe

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;

Parâmetros

Callable
O tipo callable para consulta.

Args
Os tipos de lista de argumentos para o tipo callable para consulta.

Comentários

Use este modelo para determinar o tipo de resultado de Callable(Args...) em tempo de compilação, em que Callable e todos os tipos no Args são qualquer tipo completo, uma matriz de limite desconhecido ou um void possivelmente qualificado por cv. O membro type do modelo de classe nomeia o tipo de retorno de Callable quando invocado usando os argumentos Args.... O membro type só será definido se Callable puder ser chamado quando invocado usando os argumentos Args... em um contexto não avaliado. Caso contrário, o modelo de classe não tem nenhum membro type, o que permite testes SFINAE em um determinado conjunto de tipos de argumento em tempo de compilação.

Requisitos

Cabeçalho:<type_traits>

Namespace: std

Confira também

<type_traits>
invoke