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