Compartir a través de


Clase invoke_result

Determina el tipo de valor devuelto del tipo invocable que toma los tipos de argumento especificados en tiempo de compilación. Se incluyó en C++17.

Sintaxis

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

Accesible
El tipo que se puede llamar para la consulta.

Args
Los tipos de la lista de argumentos para el tipo que se puede llamar para la consulta.

Comentarios

Use esta plantilla para determinar el tipo de resultado Callable(Args...) en tiempo de compilación, donde Callable y todos los tipos de Args son cualquier tipo completo, una matriz de límite desconocido o un objeto void posiblemente de tipo cv-qualified. El miembro type de la plantilla de clase asigna un nombre al tipo de valor devuelto Callable cuando se invoca mediante los argumentos Args... El miembro type solo se define si se puede llamar a Callable cuando se invoca mediante los argumentos Args... en un contexto no evaluado. De lo contrario, la plantilla de clase no tiene ningún miembro type, lo que permite las pruebas SFINAE en un conjunto determinado de tipos de argumentos en tiempo de compilación.

Requisitos

Encabezado:<type_traits>

Espacio de nombres: std

Consulte también

<type_traits>
invoke