diff options
Diffstat (limited to 'boost/fusion/iterator')
25 files changed, 77 insertions, 9 deletions
diff --git a/boost/fusion/iterator/advance.hpp b/boost/fusion/iterator/advance.hpp index bfd8af4b64..69b464274b 100644 --- a/boost/fusion/iterator/advance.hpp +++ b/boost/fusion/iterator/advance.hpp @@ -7,6 +7,7 @@ #if !defined(FUSION_ADVANCE_09172005_1146) #define FUSION_ADVANCE_09172005_1146 +#include <boost/fusion/support/config.hpp> #include <boost/fusion/iterator/detail/advance.hpp> #include <boost/fusion/support/category_of.hpp> @@ -74,6 +75,7 @@ namespace boost { namespace fusion } template <int N, typename Iterator> + BOOST_FUSION_GPU_ENABLED inline typename result_of::advance_c<Iterator, N>::type const advance_c(Iterator const& i) { @@ -81,6 +83,7 @@ namespace boost { namespace fusion } template<typename N, typename Iterator> + BOOST_FUSION_GPU_ENABLED inline typename result_of::advance<Iterator, N>::type const advance(Iterator const& i) { diff --git a/boost/fusion/iterator/basic_iterator.hpp b/boost/fusion/iterator/basic_iterator.hpp index 4327a8cef5..bab6a4a6a8 100644 --- a/boost/fusion/iterator/basic_iterator.hpp +++ b/boost/fusion/iterator/basic_iterator.hpp @@ -8,6 +8,7 @@ #ifndef BOOST_FUSION_ITERATOR_BASIC_ITERATOR_HPP #define BOOST_FUSION_ITERATOR_BASIC_ITERATOR_HPP +#include <boost/fusion/support/config.hpp> #include <boost/fusion/iterator/iterator_facade.hpp> #include <boost/mpl/and.hpp> @@ -39,7 +40,7 @@ namespace boost { namespace fusion template<typename Tag, typename Category, typename Seq, int Index> struct basic_iterator - : iterator_facade<basic_iterator<Tag,Category,Seq,Index>, Category> + : iterator_facade<basic_iterator<Tag, Category, Seq, Index>, Category> { typedef mpl::int_<Index> index; typedef Seq seq_type; @@ -76,6 +77,7 @@ namespace boost { namespace fusion basic_iterator<Tag, Category, Seq, Index + N::value> type; + BOOST_FUSION_GPU_ENABLED static type call(It const& it) { @@ -98,6 +100,7 @@ namespace boost { namespace fusion { typedef mpl::minus<typename It2::index, typename It1::index> type; + BOOST_FUSION_GPU_ENABLED static type call(It1 const&, It2 const&) @@ -118,15 +121,18 @@ namespace boost { namespace fusion {}; template<typename OtherSeq> + BOOST_FUSION_GPU_ENABLED basic_iterator(basic_iterator<Tag,Category,OtherSeq,Index> const& it) : seq(it.seq) {} + BOOST_FUSION_GPU_ENABLED basic_iterator(Seq& in_seq, int) : seq(&in_seq) {} template<typename OtherSeq> + BOOST_FUSION_GPU_ENABLED basic_iterator& operator=(basic_iterator<Tag,Category,OtherSeq,Index> const& it) { diff --git a/boost/fusion/iterator/deref.hpp b/boost/fusion/iterator/deref.hpp index 5b01e65728..a608b0a0a1 100644 --- a/boost/fusion/iterator/deref.hpp +++ b/boost/fusion/iterator/deref.hpp @@ -7,6 +7,7 @@ #if !defined(FUSION_DEREF_05042005_1019) #define FUSION_DEREF_05042005_1019 +#include <boost/fusion/support/config.hpp> #include <boost/fusion/support/iterator_base.hpp> #include <boost/fusion/support/tag_of.hpp> @@ -54,6 +55,7 @@ namespace boost { namespace fusion } template <typename Iterator> + BOOST_FUSION_GPU_ENABLED typename result_of::deref<Iterator>::type deref(Iterator const& i) { @@ -62,6 +64,7 @@ namespace boost { namespace fusion } template <typename Iterator> + BOOST_FUSION_GPU_ENABLED typename result_of::deref<Iterator>::type operator*(iterator_base<Iterator> const& i) { diff --git a/boost/fusion/iterator/deref_data.hpp b/boost/fusion/iterator/deref_data.hpp index 09ba439214..0dff0309c7 100644 --- a/boost/fusion/iterator/deref_data.hpp +++ b/boost/fusion/iterator/deref_data.hpp @@ -8,6 +8,7 @@ #ifndef BOOST_FUSION_ITERATOR_DEREF_DATA_HPP #define BOOST_FUSION_ITERATOR_DEREF_DATA_HPP +#include <boost/fusion/support/config.hpp> #include <boost/fusion/support/tag_of.hpp> namespace boost { namespace fusion @@ -39,6 +40,7 @@ namespace boost { namespace fusion } template <typename It> + BOOST_FUSION_GPU_ENABLED typename result_of::deref_data<It>::type deref_data(It const& it) { diff --git a/boost/fusion/iterator/detail/adapt_deref_traits.hpp b/boost/fusion/iterator/detail/adapt_deref_traits.hpp index 197dfc10bf..ef6005569b 100644 --- a/boost/fusion/iterator/detail/adapt_deref_traits.hpp +++ b/boost/fusion/iterator/detail/adapt_deref_traits.hpp @@ -7,6 +7,7 @@ #if !defined(FUSION_ADAPT_DEREF_TRAITS_05062005_0900) #define FUSION_ADAPT_DEREF_TRAITS_05062005_0900 +#include <boost/fusion/support/config.hpp> #include <boost/fusion/iterator/deref.hpp> namespace boost { namespace fusion { namespace detail @@ -20,6 +21,7 @@ namespace boost { namespace fusion { namespace detail result_of::deref<typename Iterator::first_type>::type type; + BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { diff --git a/boost/fusion/iterator/detail/adapt_value_traits.hpp b/boost/fusion/iterator/detail/adapt_value_traits.hpp index 6649ade145..e27a2f90fd 100644 --- a/boost/fusion/iterator/detail/adapt_value_traits.hpp +++ b/boost/fusion/iterator/detail/adapt_value_traits.hpp @@ -7,6 +7,7 @@ #if !defined(FUSION_ADAPT_VALUE_TRAITS_05062005_0859) #define FUSION_ADAPT_VALUE_TRAITS_05062005_0859 +#include <boost/fusion/support/config.hpp> #include <boost/fusion/iterator/value_of.hpp> namespace boost { namespace fusion { namespace detail diff --git a/boost/fusion/iterator/detail/advance.hpp b/boost/fusion/iterator/detail/advance.hpp index 56dfab9c94..ace4ed4989 100644 --- a/boost/fusion/iterator/detail/advance.hpp +++ b/boost/fusion/iterator/detail/advance.hpp @@ -7,6 +7,7 @@ #if !defined(FUSION_ADVANCE_09172005_1149) #define FUSION_ADVANCE_09172005_1149 +#include <boost/fusion/support/config.hpp> #include <boost/mpl/int.hpp> #include <boost/mpl/if.hpp> #include <boost/mpl/eval_if.hpp> @@ -44,6 +45,7 @@ namespace boost { namespace fusion { namespace advance_detail >::type type; + BOOST_FUSION_GPU_ENABLED static type const& call(type const& i) { @@ -51,6 +53,7 @@ namespace boost { namespace fusion { namespace advance_detail } template <typename I> + BOOST_FUSION_GPU_ENABLED static type call(I const& i) { @@ -83,6 +86,7 @@ namespace boost { namespace fusion { namespace advance_detail >::type type; + BOOST_FUSION_GPU_ENABLED static type const& call(type const& i) { @@ -90,6 +94,7 @@ namespace boost { namespace fusion { namespace advance_detail } template <typename I> + BOOST_FUSION_GPU_ENABLED static type call(I const& i) { diff --git a/boost/fusion/iterator/detail/distance.hpp b/boost/fusion/iterator/detail/distance.hpp index 3994cb3064..c037995210 100644 --- a/boost/fusion/iterator/detail/distance.hpp +++ b/boost/fusion/iterator/detail/distance.hpp @@ -7,6 +7,7 @@ #if !defined(FUSION_DISTANCE_09172005_0730) #define FUSION_DISTANCE_09172005_0730 +#include <boost/fusion/support/config.hpp> #include <boost/mpl/int.hpp> #include <boost/mpl/if.hpp> #include <boost/mpl/eval_if.hpp> @@ -52,6 +53,7 @@ namespace boost { namespace fusion { namespace distance_detail >::type type; + BOOST_FUSION_GPU_ENABLED static type call(First const&, Last const&) { diff --git a/boost/fusion/iterator/detail/segment_sequence.hpp b/boost/fusion/iterator/detail/segment_sequence.hpp index c372a83630..90db25ea7d 100644 --- a/boost/fusion/iterator/detail/segment_sequence.hpp +++ b/boost/fusion/iterator/detail/segment_sequence.hpp @@ -7,6 +7,7 @@ #if !defined(BOOST_FUSION_SEGMENTED_SEQUENCE_HPP_INCLUDED) #define BOOST_FUSION_SEGMENTED_SEQUENCE_HPP_INCLUDED +#include <boost/fusion/support/config.hpp> #include <boost/mpl/bool.hpp> #include <boost/type_traits/remove_reference.hpp> #include <boost/fusion/support/tag_of.hpp> @@ -29,7 +30,7 @@ namespace boost { namespace fusion { namespace detail typedef Sequence sequence_type; sequence_type sequence; - explicit segment_sequence(Sequence const & seq) + BOOST_FUSION_GPU_ENABLED explicit segment_sequence(Sequence const & seq) : sequence(seq) {} }; @@ -60,6 +61,7 @@ namespace extension { typedef typename Sequence::sequence_type type; + BOOST_FUSION_GPU_ENABLED static type call(Sequence & seq) { return seq.sequence; diff --git a/boost/fusion/iterator/detail/segmented_equal_to.hpp b/boost/fusion/iterator/detail/segmented_equal_to.hpp index 1e4ad268ae..77a080f2b2 100644 --- a/boost/fusion/iterator/detail/segmented_equal_to.hpp +++ b/boost/fusion/iterator/detail/segmented_equal_to.hpp @@ -7,13 +7,14 @@ #if !defined(BOOST_FUSION_SEGMENTED_ITERATOR_EQUAL_TO_HPP_INCLUDED) #define BOOST_FUSION_SEGMENTED_ITERATOR_EQUAL_TO_HPP_INCLUDED +#include <boost/fusion/support/config.hpp> #include <boost/mpl/and.hpp> #include <boost/mpl/bool.hpp> #include <boost/fusion/iterator/equal_to.hpp> namespace boost { namespace fusion { - struct nil; + struct nil_; namespace detail { @@ -32,7 +33,7 @@ namespace boost { namespace fusion {}; template <> - struct segmented_equal_to<fusion::nil, fusion::nil> + struct segmented_equal_to<fusion::nil_, fusion::nil_> : mpl::true_ {}; } diff --git a/boost/fusion/iterator/detail/segmented_iterator.hpp b/boost/fusion/iterator/detail/segmented_iterator.hpp index ccd45fbf9f..1d4f62d3a7 100644 --- a/boost/fusion/iterator/detail/segmented_iterator.hpp +++ b/boost/fusion/iterator/detail/segmented_iterator.hpp @@ -7,6 +7,7 @@ #if !defined(BOOST_FUSION_SEGMENTED_ITERATOR_SEGMENTED_ITERATOR_HPP_INCLUDED) #define BOOST_FUSION_SEGMENTED_ITERATOR_SEGMENTED_ITERATOR_HPP_INCLUDED +#include <boost/fusion/support/config.hpp> #include <boost/mpl/bool.hpp> #include <boost/fusion/sequence/intrinsic_fwd.hpp> #include <boost/fusion/iterator/iterator_facade.hpp> @@ -19,7 +20,7 @@ namespace boost { namespace fusion { - struct nil; + struct nil_; namespace detail { @@ -34,7 +35,7 @@ namespace boost { namespace fusion struct segmented_iterator : iterator_facade<segmented_iterator<Context>, forward_traversal_tag> { - explicit segmented_iterator(Context const& ctx) + BOOST_FUSION_GPU_ENABLED explicit segmented_iterator(Context const& ctx) : context(ctx) {} @@ -51,6 +52,7 @@ namespace boost { namespace fusion >::type type; + BOOST_FUSION_GPU_ENABLED static type call(It const& it) { return *it.context.car.first; @@ -70,6 +72,7 @@ namespace boost { namespace fusion >::type type; + BOOST_FUSION_GPU_ENABLED static type call(It const& it) { return fusion::deref_data(it.context.car.first); @@ -129,6 +132,7 @@ namespace boost { namespace fusion typedef detail::segmented_next_impl<typename It::context_type> impl; typedef segmented_iterator<typename impl::type> type; + BOOST_FUSION_GPU_ENABLED static type call(It const& it) { return type(impl::call(it.context)); 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); diff --git a/boost/fusion/iterator/distance.hpp b/boost/fusion/iterator/distance.hpp index 74d2d3ef2f..afca6a363e 100644 --- a/boost/fusion/iterator/distance.hpp +++ b/boost/fusion/iterator/distance.hpp @@ -7,6 +7,7 @@ #if !defined(FUSION_DISTANCE_09172005_0721) #define FUSION_DISTANCE_09172005_0721 +#include <boost/fusion/support/config.hpp> #include <boost/fusion/iterator/detail/distance.hpp> #include <boost/fusion/support/category_of.hpp> @@ -68,6 +69,7 @@ namespace boost { namespace fusion } template <typename First, typename Last> + BOOST_FUSION_GPU_ENABLED inline typename result_of::distance<First, Last>::type distance(First const& a, Last const& b) { diff --git a/boost/fusion/iterator/equal_to.hpp b/boost/fusion/iterator/equal_to.hpp index 334783770e..1927ce7e96 100644 --- a/boost/fusion/iterator/equal_to.hpp +++ b/boost/fusion/iterator/equal_to.hpp @@ -7,6 +7,7 @@ #if !defined(FUSION_EQUAL_TO_05052005_1208) #define FUSION_EQUAL_TO_05052005_1208 +#include <boost/fusion/support/config.hpp> #include <boost/type_traits/is_same.hpp> #include <boost/fusion/support/tag_of.hpp> #include <boost/type_traits/add_const.hpp> @@ -73,6 +74,7 @@ namespace boost { namespace fusion namespace iterator_operators { template <typename Iter1, typename Iter2> + BOOST_FUSION_GPU_ENABLED inline typename boost::enable_if< mpl::and_<is_fusion_iterator<Iter1>, is_fusion_iterator<Iter2> > @@ -84,6 +86,7 @@ namespace boost { namespace fusion } template <typename Iter1, typename Iter2> + BOOST_FUSION_GPU_ENABLED inline typename boost::enable_if< mpl::and_<is_fusion_iterator<Iter1>, is_fusion_iterator<Iter2> > diff --git a/boost/fusion/iterator/iterator_adapter.hpp b/boost/fusion/iterator/iterator_adapter.hpp index 6805626942..af6978b20e 100644 --- a/boost/fusion/iterator/iterator_adapter.hpp +++ b/boost/fusion/iterator/iterator_adapter.hpp @@ -7,6 +7,7 @@ #if !defined(FUSION_ITERATOR_ADAPTER_08112011_0942) #define FUSION_ITERATOR_ADAPTER_08112011_0942 +#include <boost/fusion/support/config.hpp> #include <boost/fusion/iterator/detail/advance.hpp> #include <boost/fusion/iterator/iterator_facade.hpp> #include <boost/type_traits/remove_const.hpp> @@ -23,8 +24,9 @@ namespace boost { namespace fusion iterator_base_type; iterator_base_type iterator_base; - iterator_adapter(iterator_base_type const& iterator_base) - : iterator_base(iterator_base) {} + BOOST_FUSION_GPU_ENABLED + iterator_adapter(iterator_base_type const& iterator_base_) + : iterator_base(iterator_base_) {} // default implementation template <typename I1, typename I2> @@ -45,6 +47,7 @@ namespace boost { namespace fusion >::type>::type type; + BOOST_FUSION_GPU_ENABLED static type call(Iterator const& it) { @@ -79,6 +82,7 @@ namespace boost { namespace fusion >::type type; + BOOST_FUSION_GPU_ENABLED static type call(Iterator const& it) { @@ -96,6 +100,7 @@ namespace boost { namespace fusion >::type>::type type; + BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { @@ -113,6 +118,7 @@ namespace boost { namespace fusion >::type>::type type; + BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { diff --git a/boost/fusion/iterator/iterator_facade.hpp b/boost/fusion/iterator/iterator_facade.hpp index abd6607d67..415e841c00 100644 --- a/boost/fusion/iterator/iterator_facade.hpp +++ b/boost/fusion/iterator/iterator_facade.hpp @@ -7,6 +7,7 @@ #if !defined(FUSION_ITERATOR_FACADE_09252006_1011) #define FUSION_ITERATOR_FACADE_09252006_1011 +#include <boost/fusion/support/config.hpp> #include <boost/fusion/support/iterator_base.hpp> #include <boost/fusion/iterator/detail/advance.hpp> #include <boost/fusion/iterator/detail/distance.hpp> diff --git a/boost/fusion/iterator/key_of.hpp b/boost/fusion/iterator/key_of.hpp index 64c2f86aa7..3459ab58e5 100644 --- a/boost/fusion/iterator/key_of.hpp +++ b/boost/fusion/iterator/key_of.hpp @@ -8,6 +8,7 @@ #ifndef BOOST_FUSION_ITERATOR_KEY_OF_HPP #define BOOST_FUSION_ITERATOR_KEY_OF_HPP +#include <boost/fusion/support/config.hpp> #include <boost/fusion/support/tag_of.hpp> namespace boost { namespace fusion diff --git a/boost/fusion/iterator/mpl.hpp b/boost/fusion/iterator/mpl.hpp index a5274a49f6..fdaf749c08 100644 --- a/boost/fusion/iterator/mpl.hpp +++ b/boost/fusion/iterator/mpl.hpp @@ -7,6 +7,7 @@ #if !defined(FUSION_ITERATOR_MPL_10022005_0557) #define FUSION_ITERATOR_MPL_10022005_0557 +#include <boost/fusion/support/config.hpp> #include <boost/fusion/iterator/mpl/convert_iterator.hpp> #include <boost/fusion/iterator/mpl/fusion_iterator.hpp> diff --git a/boost/fusion/iterator/mpl/convert_iterator.hpp b/boost/fusion/iterator/mpl/convert_iterator.hpp index dd52d4c587..54c9ef690f 100644 --- a/boost/fusion/iterator/mpl/convert_iterator.hpp +++ b/boost/fusion/iterator/mpl/convert_iterator.hpp @@ -7,6 +7,7 @@ #if !defined(FUSION_CONVERT_ITERATOR_05062005_1218) #define FUSION_CONVERT_ITERATOR_05062005_1218 +#include <boost/fusion/support/config.hpp> #include <boost/fusion/support/is_iterator.hpp> #include <boost/mpl/if.hpp> #include <boost/mpl/bool.hpp> @@ -30,18 +31,21 @@ namespace boost { namespace fusion >::type type; + BOOST_FUSION_GPU_ENABLED static T const& call(T const& x, mpl::true_) { return x; } + BOOST_FUSION_GPU_ENABLED static mpl_iterator<T> call(T const& /*x*/, mpl::false_) { return mpl_iterator<T>(); } + BOOST_FUSION_GPU_ENABLED static typename mpl::if_< is_fusion_iterator<T> diff --git a/boost/fusion/iterator/mpl/fusion_iterator.hpp b/boost/fusion/iterator/mpl/fusion_iterator.hpp index 82889e0806..f8feacf671 100644 --- a/boost/fusion/iterator/mpl/fusion_iterator.hpp +++ b/boost/fusion/iterator/mpl/fusion_iterator.hpp @@ -7,6 +7,7 @@ #if !defined(FUSION_FUSION_ITERATOR_10012005_1551) #define FUSION_FUSION_ITERATOR_10012005_1551 +#include <boost/fusion/support/config.hpp> #include <boost/fusion/iterator/value_of.hpp> #include <boost/fusion/iterator/next.hpp> #include <boost/fusion/iterator/prior.hpp> diff --git a/boost/fusion/iterator/next.hpp b/boost/fusion/iterator/next.hpp index 5cc9c80771..bd76eac152 100644 --- a/boost/fusion/iterator/next.hpp +++ b/boost/fusion/iterator/next.hpp @@ -7,6 +7,7 @@ #if !defined(FUSION_NEXT_05042005_1101) #define FUSION_NEXT_05042005_1101 +#include <boost/fusion/support/config.hpp> #include <boost/fusion/support/tag_of.hpp> namespace boost { namespace fusion @@ -53,6 +54,7 @@ namespace boost { namespace fusion } template <typename Iterator> + BOOST_FUSION_GPU_ENABLED typename result_of::next<Iterator>::type const next(Iterator const& i) { diff --git a/boost/fusion/iterator/prior.hpp b/boost/fusion/iterator/prior.hpp index 818851b1b7..78d8390b3c 100644 --- a/boost/fusion/iterator/prior.hpp +++ b/boost/fusion/iterator/prior.hpp @@ -7,6 +7,7 @@ #if !defined(FUSION_PRIOR_05042005_1144) #define FUSION_PRIOR_05042005_1144 +#include <boost/fusion/support/config.hpp> #include <boost/fusion/support/tag_of.hpp> namespace boost { namespace fusion @@ -53,6 +54,7 @@ namespace boost { namespace fusion } template <typename Iterator> + BOOST_FUSION_GPU_ENABLED typename result_of::prior<Iterator>::type const prior(Iterator const& i) { diff --git a/boost/fusion/iterator/segmented_iterator.hpp b/boost/fusion/iterator/segmented_iterator.hpp index 21095e78c3..b9aac07c6c 100644 --- a/boost/fusion/iterator/segmented_iterator.hpp +++ b/boost/fusion/iterator/segmented_iterator.hpp @@ -7,6 +7,7 @@ #if !defined(BOOST_FUSION_SEGMENTED_ITERATOR_HPP_INCLUDED) #define BOOST_FUSION_SEGMENTED_ITERATOR_HPP_INCLUDED +#include <boost/fusion/support/config.hpp> #include <boost/fusion/iterator/detail/segmented_iterator.hpp> #include <boost/fusion/iterator/detail/segmented_next_impl.hpp> #include <boost/fusion/sequence/intrinsic/begin.hpp> diff --git a/boost/fusion/iterator/value_of.hpp b/boost/fusion/iterator/value_of.hpp index fe0cd56811..1408dc7a55 100644 --- a/boost/fusion/iterator/value_of.hpp +++ b/boost/fusion/iterator/value_of.hpp @@ -7,6 +7,7 @@ #if !defined(FUSION_VALUE_OF_05052005_1126) #define FUSION_VALUE_OF_05052005_1126 +#include <boost/fusion/support/config.hpp> #include <boost/fusion/support/iterator_base.hpp> #include <boost/fusion/support/tag_of.hpp> diff --git a/boost/fusion/iterator/value_of_data.hpp b/boost/fusion/iterator/value_of_data.hpp index 4a8316deb7..341fe882a9 100644 --- a/boost/fusion/iterator/value_of_data.hpp +++ b/boost/fusion/iterator/value_of_data.hpp @@ -8,6 +8,7 @@ #ifndef BOOST_FUSION_ITERATOR_VALUE_OF_DATA_HPP #define BOOST_FUSION_ITERATOR_VALUE_OF_DATA_HPP +#include <boost/fusion/support/config.hpp> #include <boost/fusion/support/tag_of.hpp> namespace boost { namespace fusion |