21 #include <type_traits>
25 template <
typename F,
typename Tuple,
size_t I = 0>
26 std::enable_if_t<I == std::tuple_size<typename std::remove_reference<Tuple>::type>::value>
27 tuple_for_each(F, Tuple &&) {}
34 template <
typename F,
typename Tuple,
size_t I = 0>
35 std::enable_if_t<I != std::tuple_size<typename std::remove_reference<Tuple>::type>::value>
36 tuple_for_each(F f, Tuple && t) {
38 tuple_for_each<F, Tuple, I + 1>(f, t);