Compartir a través de


result_of (Clase)

Determina el tipo de valor devuelto del tipo que se puede llamar que toma los tipos de argumento especificados. Incluido en C++14, en desuso en C++17.

Sintaxis

template<class>
struct result_of; // Causes a static assert

template <class Fn, class... ArgTypes>
struct result_of<Fn(ArgTypes...)>;

// Helper type
template<class T>
   using result_of_t = typename result_of<T>::type;

Parámetros

Fn
El tipo que se puede llamar para la consulta.

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

Comentarios

Use esta plantilla para determinar en tiempo de compilación el tipo de resultado de Fn(ArgTypes), donde Fn es un tipo que se puede llamar, la referencia a la función o la referencia al tipo que se puede llamar, invocado mediante una lista de argumentos de los tipos de ArgTypes. El miembro type de la clase de plantilla menciona el tipo de resultado de decltype(std::invoke(declval<Fn>(), declval<ArgTypes>()...)) si la expresión no evaluada std::invoke(declval<Fn>(), declval<ArgTypes>()...) tiene el formato correcto. De lo contrario, la clase de plantilla no tiene ningún miembro type. El tipo Fn y todos los tipos en el paquete de parámetros ArgTypes deben ser tipos completos, void o matrices de límite desconocido. En desuso en favor de invoke_result en C++17.

Requisitos

Encabezado:<type_traits>

Espacio de nombres: std

Consulte también

<type_traits>
invoke_result clase