603 template <
typename... Args,
604 typename =
typename std::enable_if<(index <
sizeof...(Args))>::type>
605 auto operator()(Args&&... args)
const ->
decltype(internal::InvokeArgument(
606 std::get<index>(std::forward_as_tuple(std::forward<Args>(args)...)),
607 std::declval<const Params&>()...)) {
609 std::forward<Args>(args)...);
610 return params.Apply([&](
const Params&... unpacked_params) {
611 auto&& callable = args_tuple.template Get<index>();
612 return internal::InvokeArgument(
613 std::forward<
decltype(callable)>(callable), unpacked_params...);