summaryrefslogtreecommitdiff
path: root/boost/fusion/view/filter_view/detail/next_impl.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/fusion/view/filter_view/detail/next_impl.hpp')
-rw-r--r--boost/fusion/view/filter_view/detail/next_impl.hpp26
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));
}
};
};