test_notepad.hpp 540 B

123456789101112
  1. // this is a hack to workaround the limititation of template
  2. // expansion depth in the MSVC compiler.
  3. template<class L, class F>
  4. BOOST_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. }