diff options
Diffstat (limited to 'boost/fusion/view/filter_view/detail/next_impl.hpp')
-rw-r--r-- | boost/fusion/view/filter_view/detail/next_impl.hpp | 26 |
1 files changed, 5 insertions, 21 deletions
diff --git a/boost/fusion/view/filter_view/detail/next_impl.hpp b/boost/fusion/view/filter_view/detail/next_impl.hpp index 4f17455766..bd1404b9f0 100644 --- a/boost/fusion/view/filter_view/detail/next_impl.hpp +++ b/boost/fusion/view/filter_view/detail/next_impl.hpp @@ -1,5 +1,6 @@ /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2018 Kohei Takahashi Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -8,14 +9,10 @@ #define FUSION_NEXT_IMPL_06052005_0900 #include <boost/fusion/support/config.hpp> -#include <boost/fusion/algorithm/query/detail/find_if.hpp> -#include <boost/fusion/iterator/value_of.hpp> +#include <boost/fusion/iterator/next.hpp> +#include <boost/fusion/iterator/equal_to.hpp> #include <boost/mpl/eval_if.hpp> #include <boost/mpl/identity.hpp> -#include <boost/mpl/lambda.hpp> -#include <boost/mpl/quote.hpp> -#include <boost/mpl/bind.hpp> -#include <boost/mpl/placeholders.hpp> namespace boost { namespace fusion { @@ -48,26 +45,13 @@ namespace boost { namespace fusion >::type next_type; - typedef typename - detail::static_find_if< - next_type - , last_type - , mpl::bind1< - typename mpl::lambda<pred_type>::type - , mpl::bind1<mpl::quote1<result_of::value_of>,mpl::_1> - > - > - filter; - - typedef filter_iterator< - category, typename filter::type, last_type, pred_type> - type; + typedef filter_iterator<category, next_type, last_type, pred_type> type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { - return type(filter::iter_call(i.first)); + return type(fusion::next(i.first)); } }; }; |