carb::cpp::invoke_result_t

Defined in carb/cpp/TypeTraits.h

template<typename Func, typename ...TArgs>
using carb::cpp::invoke_result_t = typename invoke_result<Func, TArgs...>::type

Helper for carb::cpp::invoke_result which accesses the type member.

// Get the proper return type and SFINAE-safe disqualify `foo` when `f(10)` is not valid.
template <typename Func>
invoke_result_t<Func, int> foo(Func&& f)
{
    return invoke(std::forward<Func>(f), 10);
}

This is equivalent to the C++ std::invoke_result_t helper typedef.