Класс invoke_result

Определяет возвращаемый тип вызываемого типа, который принимает указанные типы аргументов во время компиляции. Добавлено в C++17.

Синтаксис

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;

Параметры

Вызываемые
Вызываемый тип для запроса.

Args
Типы списка аргументов к вызываемому типу для запроса.

Замечания

Используйте этот шаблон, чтобы определить тип результата Callable(Args...) во время компиляции, где вызываемые и все типы в Args являются любым полным типом, массивом неизвестной границы или, возможно, квалифицируемым voidcv. Член type шаблона класса называет тип возвращаемого вызова при вызове с помощью аргументов Args.... Член type определяется только в том случае, если вызывающий объект можно вызвать при вызове с помощью аргументов Args... в неоценимом контексте. В противном случае шаблон класса не имеет элемента type, который позволяет выполнять тесты SFINAE в определенном наборе типов аргументов во время компиляции.

Требования

Заголовок:<type_traits>

Пространство имен: std

См. также

<type_traits>
invoke