1 #include "hmbdc/Copyright.hpp" 8 namespace forwardtupletofunc_detail {
10 template<
unsigned I,
typename IndexTuple,
typename... Types>
13 template<
unsigned I,
unsigned... Indexes,
typename T,
typename... Types>
21 template<
unsigned I,
unsigned... Indexes>
26 template<
typename... Types>
31 template <
unsigned... Indexes,
class... Args,
class Ret>
33 std::tuple<Args...> tuple,
34 Ret (*func) (Args...)) {
35 return func(std::forward<Args>(std::get<Indexes>(tuple))...);
49 template<
class... Args,
class Ret>
50 Ret forward_tuple_to_func(std::tuple<Args...>& tuple, Ret (*func) (Args...)) {
51 typedef typename forwardtupletofunc_detail::make_indices<Args...>::type Indexes;
52 return forwardtupletofunc_detail::forward_impl(Indexes(), tuple, func);
65 template<
class... Args,
class Ret>
66 Ret forward_tuple_to_func(std::tuple<Args...>&& tuple, Ret (*func) (Args...)) {
67 typedef typename forwardtupletofunc_detail::make_indices<Args...>::type Indexes;
68 return forwardtupletofunc_detail::forward_impl(Indexes(), move(tuple), func);
Definition: ForwardTupleToFunc.hpp:9
Definition: ForwardTupleToFunc.hpp:27
Definition: ForwardTupleToFunc.hpp:11