summaryrefslogtreecommitdiff
path: root/boost/fusion/iterator/detail/segmented_next_impl.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/fusion/iterator/detail/segmented_next_impl.hpp')
-rw-r--r--boost/fusion/iterator/detail/segmented_next_impl.hpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/boost/fusion/iterator/detail/segmented_next_impl.hpp b/boost/fusion/iterator/detail/segmented_next_impl.hpp
index 2a7f6f6c86..a2b75d710a 100644
--- a/boost/fusion/iterator/detail/segmented_next_impl.hpp
+++ b/boost/fusion/iterator/detail/segmented_next_impl.hpp
@@ -7,6 +7,7 @@
#if !defined(BOOST_FUSION_SEGMENTED_ITERATOR_NEXT_IMPL_HPP_INCLUDED)
#define BOOST_FUSION_SEGMENTED_ITERATOR_NEXT_IMPL_HPP_INCLUDED
+#include <boost/fusion/support/config.hpp>
#include <boost/type_traits/add_const.hpp>
#include <boost/type_traits/remove_reference.hpp>
#include <boost/fusion/iterator/equal_to.hpp>
@@ -64,6 +65,7 @@ namespace boost { namespace fusion
cons<car_type, typename Stack::cdr_type>
type;
+ BOOST_FUSION_GPU_ENABLED
static type call(Stack const & stack)
{
return type(
@@ -83,7 +85,7 @@ namespace boost { namespace fusion
//auto segmented_next_impl_recurse3(stack)
//{
// if (size(stack) == 1)
- // return cons(iterator_range(end(car(stack)), end(car(stack))), nil);
+ // return cons(iterator_range(end(car(stack)), end(car(stack))), nil_);
// else
// return segmented_next_impl_recurse(stack.cdr);
//}
@@ -96,6 +98,7 @@ namespace boost { namespace fusion
typedef segmented_next_impl_recurse<typename Stack::cdr_type> impl;
typedef typename impl::type type;
+ BOOST_FUSION_GPU_ENABLED
static type call(Stack const & stack)
{
return impl::call(stack.cdr);
@@ -109,6 +112,7 @@ namespace boost { namespace fusion
typedef iterator_range<end_type, end_type> range_type;
typedef cons<range_type> type;
+ BOOST_FUSION_GPU_ENABLED
static type call(Stack const & stack)
{
return type(range_type(stack.car.last, stack.car.last));
@@ -143,6 +147,7 @@ namespace boost { namespace fusion
typedef segmented_next_impl_recurse3<Stack> impl;
typedef typename impl::type type;
+ BOOST_FUSION_GPU_ENABLED
static type call(Stack const & stack)
{
return impl::call(stack);
@@ -154,6 +159,7 @@ namespace boost { namespace fusion
{
typedef Result type;
+ BOOST_FUSION_GPU_ENABLED
static type call(Stack const & stack)
{
return segmented_begin_impl<Sequence, Stack>::call(*stack.car.first, stack);
@@ -179,6 +185,7 @@ namespace boost { namespace fusion
typename segmented_next_impl_recurse<typename Stack::cdr_type>::type
type;
+ BOOST_FUSION_GPU_ENABLED
static type call(Stack const& stack)
{
return segmented_next_impl_recurse<typename Stack::cdr_type>::call(stack.cdr);
@@ -190,6 +197,7 @@ namespace boost { namespace fusion
{
typedef Next type;
+ BOOST_FUSION_GPU_ENABLED
static type call(Stack const & stack)
{
return pop_front_car<Stack>::call(stack);
@@ -202,6 +210,7 @@ namespace boost { namespace fusion
typedef segmented_next_impl_recurse2<Next> impl;
typedef typename impl::type type;
+ BOOST_FUSION_GPU_ENABLED
static type call(Stack const & stack)
{
return impl::call(pop_front_car<Stack>::call(stack));
@@ -227,6 +236,7 @@ namespace boost { namespace fusion
typedef segmented_next_impl_recurse<typename Stack::cdr_type> impl;
typedef typename impl::type type;
+ BOOST_FUSION_GPU_ENABLED
static type call(Stack const & stack)
{
return impl::call(stack.cdr);
@@ -238,6 +248,7 @@ namespace boost { namespace fusion
{
typedef Next type;
+ BOOST_FUSION_GPU_ENABLED
static type call(Stack const & stack)
{
return pop_front_car<Stack>::call(stack);