1 // this is a hack to workaround the limititation of template 2 // expansion depth in the MSVC compiler. 3 template<class L, class F> mp_for_each_1(F && f)4BOOST_MP11_CONSTEXPR mp_if_c<mp_size<L>::value <= 1024, F> mp_for_each_1( F && f ){ 5 return detail::mp_for_each_impl( mp_rename<L, mp_list>(), std::forward<F>(f) ); 6 } 7 template<class L, class F> 8 BOOST_MP11_CONSTEXPR mp_if_c<mp_size<L>::value >= 1025, F> mp_for_each_1( F && f ){ 9 mp_for_each<mp_take_c<L, 1024>>( std::forward<F>(f) ); 10 return mp_for_each_1<mp_drop_c<L, 1024>>( std::forward<F>(f) ); 11 } 12 13