| 8 | |
| 9 | template <typename Tuple, size_t... Indexes, typename Fn> |
| 10 | constexpr decltype(auto) tuple_for_each_impl( |
| 11 | Tuple&& tuple, |
| 12 | std::integer_sequence<size_t, Indexes...>, |
| 13 | Fn&& fn) { |
| 14 | using tuplet::get; |
| 15 | |
| 16 | (fn(get<Indexes>(std::forward<Tuple>(tuple))), ...); |
| 17 | |
| 18 | return std::forward<Fn>(fn); |
| 19 | } |
| 20 | template <typename Tuple, typename Fn> |
| 21 | constexpr decltype(auto) tuple_for_each(Tuple&& tuple, Fn&& fn) { |
| 22 | using indexes = std::make_index_sequence< |