- 01
 - 02
 - 03
 - 04
 - 05
 - 06
 - 07
 - 08
 - 09
 - 10
 - 11
 - 12
 - 13
 - 14
 - 15
 
                        namespace detail
{
template <typename Function, typename Tuple, std::size_t... i>
void applyForEach(Function&& f, Tuple&& t, std::index_sequence<i...>)
{
  (static_cast<void>(std::invoke(f, std::integral_constant<std::size_t, i>{}, std::get<i>(t))), ...);
}
} // namespace detail
template <typename Function, typename Tuple>
void applyForEach(Tuple&& tuple, Function&& function)
{
  using Indexes = std::make_index_sequence<std::tuple_size_v<Tuple>>;
  detail::applyForEach(std::forward<Function>(function), std::forward<Tuple>(tuple), Indexes{});
}
                                 
        
            Строка 6. Мы тут сделали синтаксис для fold expression, только вам его не дадим: у вас документов нет.
Clang: https://wandbox.org/permlink/lNOFu1sOV9bA2LJF
GCC: https://wandbox.org/permlink/yqeiYHTgZOz9NkkJ
        
        
Ну или так:
http://ideone.com/GQLIfb