Lines Matching refs:Tuple
23 template <typename Tuple, size_t... Ns>
24 auto TupleForwardImpl(Tuple&& tuple, std::index_sequence<Ns...>) -> decltype(
25 std::forward_as_tuple(std::get<Ns>(std::forward<Tuple>(tuple))...)) {
26 return std::forward_as_tuple(std::get<Ns>(std::forward<Tuple>(tuple))...);
38 template <typename Tuple>
39 auto TupleForward(Tuple&& tuple) -> decltype(TupleForwardImpl(
40 std::forward<Tuple>(tuple),
41 std::make_index_sequence<std::tuple_size<std::decay_t<Tuple>>::value>())) {
43 std::forward<Tuple>(tuple),
44 std::make_index_sequence<std::tuple_size<std::decay_t<Tuple>>::value>());
49 template <typename ObjT, typename Method, typename P, typename Tuple>
50 void DispatchToMethod(ObjT* obj, Method method, P*, Tuple&& tuple) { in DispatchToMethod()
51 base::DispatchToMethod(obj, method, std::forward<Tuple>(tuple)); in DispatchToMethod()
57 typename Tuple,
62 Tuple&& tuple, in DispatchToMethodImpl()
64 (obj->*method)(parameter, std::get<Ns>(std::forward<Tuple>(tuple))...); in DispatchToMethodImpl()
69 template <typename ObjT, typename P, typename... Args, typename Tuple>
70 std::enable_if_t<sizeof...(Args) == std::tuple_size<std::decay_t<Tuple>>::value>
74 Tuple&& tuple) { in DispatchToMethod()
75 constexpr size_t size = std::tuple_size<std::decay_t<Tuple>>::value; in DispatchToMethod()
76 DispatchToMethodImpl(obj, method, parameter, std::forward<Tuple>(tuple), in DispatchToMethod()