// this is a hack to workaround the limititation of template // expansion depth in the MSVC compiler. template BOOST_MP11_CONSTEXPR mp_if_c::value <= 1024, F> mp_for_each_1( F && f ){ return detail::mp_for_each_impl( mp_rename(), std::forward(f) ); } template BOOST_MP11_CONSTEXPR mp_if_c::value >= 1025, F> mp_for_each_1( F && f ){ mp_for_each>( std::forward(f) ); return mp_for_each_1>( std::forward(f) ); }