#ifndef BOOST_TUPLE_FOR_EACH_HPP_INCLUDED #define BOOST_TUPLE_FOR_EACH_HPP_INCLUDED #include #include #include #include #include #include namespace boost { namespace detail { template BOOST_CONSTEXPR F tuple_for_each_impl( Tp && tp, boost::integer_sequence, F && f ) { using A = int[sizeof...(J)]; return (void)A{ (f(std::get(std::forward(tp))), 0)... }, std::forward(f); } } // namespace detail template BOOST_CONSTEXPR F tuple_for_each( Tp && tp, F && f ) { using seq = boost::make_index_sequence::type>::value>; return detail::tuple_for_each_impl( std::forward(tp), seq(), std::forward(f) ); } } // namespace boost #endif // #ifndef BOOST_TUPLE_FOR_EACH_HPP_INCLUDED