diff --git a/include/boost/mp11/algorithm.hpp b/include/boost/mp11/algorithm.hpp index 07a8ffd..0c8b4b2 100644 --- a/include/boost/mp11/algorithm.hpp +++ b/include/boost/mp11/algorithm.hpp @@ -172,7 +172,7 @@ template class F, template class L1, class... T1, t namespace detail { -template class P, template class F, class... L> struct mp_transform_if_impl +template class P, template class F> struct mp_transform_if_impl_f { // the stupid quote-unquote dance avoids "pack expansion used as argument for non-pack parameter of alias template" @@ -189,8 +189,11 @@ template class P, template class F, class... L> str template using _f = mp_eval_if_q>, mp_first>, Qf, U...>; #endif +}; - using type = mp_transform<_f, L...>; +template class P, template class F, class... L> struct mp_transform_if_impl +{ + using type = mp_transform::template _f, L...>; }; } // namespace detail