| 19 | template <typename F, typename RESULT_TYPE, typename... Us, int... Is, |
| 20 | typename std::enable_if<!std::is_void<RESULT_TYPE>::value>::type* = nullptr> |
| 21 | SEXP call_impl(const F& fun, SEXP* args, type_pack<RESULT_TYPE, Us...>, |
| 22 | traits::index_sequence<Is...>) { |
| 23 | RESULT_TYPE res = fun((typename traits::input_parameter<Us>::type(args[Is]))...); |
| 24 | return Rcpp::module_wrap<RESULT_TYPE>(res); |
| 25 | } |
| 26 | |
| 27 | template <typename F, typename RESULT_TYPE, typename... Us, int... Is, |
| 28 | typename std::enable_if<std::is_void<RESULT_TYPE>::value>::type* = nullptr> |