carb::cpp17::invoke_result

Defined in carb/cpp17/TypeTraits.h

Inheritance Relationships

Base Type

  • public detail::invoke_result_impl< void, Func, TArgs... >

template<typename Func, typename ...TArgs>
struct invoke_result : public detail::invoke_result_impl<void, Func, TArgs...>

Get the result type of calling Func with the TArgs pack.

If Func is callable with the given TArgs pack, then this structure has a member typedef named type with the return of that call. If Func is not callable, then the member typedef does not exist.

static_assert(std::is_same<int, typename invoke_result<int(*)(char), char>::type>::value);

This is equivalent to the C++17 std::invoke_result meta transformation.

See

carb::cpp17::invoke_result_t