diff --git a/include/boost/fusion/algorithm/transformation/pop_back.hpp b/include/boost/fusion/algorithm/transformation/pop_back.hpp index a461f3f5..2244376d 100644 --- a/include/boost/fusion/algorithm/transformation/pop_back.hpp +++ b/include/boost/fusion/algorithm/transformation/pop_back.hpp @@ -47,14 +47,22 @@ namespace boost { namespace fusion } }; + template + struct equal_to_helper + : mpl::identity + {}; + + template + struct equal_to_helper + : result_of::next< + typename I::iterator_base_type> + {}; + template struct equal_to : result_of::equal_to< - typename mpl::if_c<(I1::is_last|I2::is_last) - , typename result_of::next< - typename I1::iterator_base_type>::type - , typename I1::iterator_base_type>::type - , typename I2::iterator_base_type + typename equal_to_helper::type + , typename equal_to_helper::type > {};