summaryrefslogtreecommitdiff
path: root/boost/fusion/sequence
diff options
context:
space:
mode:
Diffstat (limited to 'boost/fusion/sequence')
-rw-r--r--boost/fusion/sequence/comparison.hpp1
-rw-r--r--boost/fusion/sequence/comparison/detail/equal_to.hpp5
-rw-r--r--boost/fusion/sequence/comparison/detail/greater.hpp4
-rw-r--r--boost/fusion/sequence/comparison/detail/greater_equal.hpp4
-rw-r--r--boost/fusion/sequence/comparison/detail/less.hpp4
-rw-r--r--boost/fusion/sequence/comparison/detail/less_equal.hpp4
-rw-r--r--boost/fusion/sequence/comparison/detail/not_equal_to.hpp5
-rw-r--r--boost/fusion/sequence/comparison/enable_comparison.hpp1
-rw-r--r--boost/fusion/sequence/comparison/equal_to.hpp3
-rw-r--r--boost/fusion/sequence/comparison/greater.hpp3
-rw-r--r--boost/fusion/sequence/comparison/greater_equal.hpp3
-rw-r--r--boost/fusion/sequence/comparison/less.hpp3
-rw-r--r--boost/fusion/sequence/comparison/less_equal.hpp6
-rw-r--r--boost/fusion/sequence/comparison/not_equal_to.hpp3
-rw-r--r--boost/fusion/sequence/convert.hpp10
-rw-r--r--boost/fusion/sequence/intrinsic.hpp1
-rw-r--r--boost/fusion/sequence/intrinsic/at.hpp5
-rw-r--r--boost/fusion/sequence/intrinsic/at_c.hpp1
-rw-r--r--boost/fusion/sequence/intrinsic/at_key.hpp4
-rw-r--r--boost/fusion/sequence/intrinsic/back.hpp3
-rw-r--r--boost/fusion/sequence/intrinsic/begin.hpp3
-rw-r--r--boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp10
-rw-r--r--boost/fusion/sequence/intrinsic/detail/segmented_begin_impl.hpp4
-rw-r--r--boost/fusion/sequence/intrinsic/detail/segmented_end.hpp8
-rw-r--r--boost/fusion/sequence/intrinsic/detail/segmented_end_impl.hpp2
-rw-r--r--boost/fusion/sequence/intrinsic/detail/segmented_size.hpp1
-rw-r--r--boost/fusion/sequence/intrinsic/empty.hpp2
-rw-r--r--boost/fusion/sequence/intrinsic/end.hpp3
-rw-r--r--boost/fusion/sequence/intrinsic/front.hpp3
-rw-r--r--boost/fusion/sequence/intrinsic/has_key.hpp4
-rw-r--r--boost/fusion/sequence/intrinsic/segments.hpp3
-rw-r--r--boost/fusion/sequence/intrinsic/size.hpp2
-rw-r--r--boost/fusion/sequence/intrinsic/swap.hpp3
-rw-r--r--boost/fusion/sequence/intrinsic/value_at.hpp1
-rw-r--r--boost/fusion/sequence/intrinsic/value_at_key.hpp1
-rw-r--r--boost/fusion/sequence/intrinsic_fwd.hpp20
-rw-r--r--boost/fusion/sequence/io.hpp1
-rw-r--r--boost/fusion/sequence/io/detail/in.hpp1
-rw-r--r--boost/fusion/sequence/io/detail/manip.hpp55
-rw-r--r--boost/fusion/sequence/io/detail/out.hpp1
-rw-r--r--boost/fusion/sequence/io/in.hpp1
-rw-r--r--boost/fusion/sequence/io/out.hpp1
-rw-r--r--boost/fusion/sequence/sequence_facade.hpp1
43 files changed, 138 insertions, 66 deletions
diff --git a/boost/fusion/sequence/comparison.hpp b/boost/fusion/sequence/comparison.hpp
index 52fd1384c8..d319f9e07f 100644
--- a/boost/fusion/sequence/comparison.hpp
+++ b/boost/fusion/sequence/comparison.hpp
@@ -7,6 +7,7 @@
#if !defined(FUSION_SEQUENCE_COMPARISON_10022005_0615)
#define FUSION_SEQUENCE_COMPARISON_10022005_0615
+#include <boost/fusion/support/config.hpp>
#include <boost/fusion/sequence/comparison/equal_to.hpp>
#include <boost/fusion/sequence/comparison/greater.hpp>
#include <boost/fusion/sequence/comparison/greater_equal.hpp>
diff --git a/boost/fusion/sequence/comparison/detail/equal_to.hpp b/boost/fusion/sequence/comparison/detail/equal_to.hpp
index 56cfe1b247..577023db6a 100644
--- a/boost/fusion/sequence/comparison/detail/equal_to.hpp
+++ b/boost/fusion/sequence/comparison/detail/equal_to.hpp
@@ -8,6 +8,7 @@
#if !defined(FUSION_EQUAL_TO_05052005_1142)
#define FUSION_EQUAL_TO_05052005_1142
+#include <boost/fusion/support/config.hpp>
#include <boost/mpl/bool.hpp>
#include <boost/fusion/iterator/deref.hpp>
#include <boost/fusion/iterator/next.hpp>
@@ -23,6 +24,7 @@ namespace boost { namespace fusion { namespace detail
typedef typename result_of::end<Seq2>::type end2_type;
template <typename I1, typename I2>
+ BOOST_FUSION_GPU_ENABLED
static bool
call(I1 const&, I2 const&, mpl::true_)
{
@@ -30,6 +32,7 @@ namespace boost { namespace fusion { namespace detail
}
template <typename I1, typename I2>
+ BOOST_FUSION_GPU_ENABLED
static bool
call(I1 const& a, I2 const& b, mpl::false_)
{
@@ -38,6 +41,7 @@ namespace boost { namespace fusion { namespace detail
}
template <typename I1, typename I2>
+ BOOST_FUSION_GPU_ENABLED
static bool
call(I1 const& a, I2 const& b)
{
@@ -50,6 +54,7 @@ namespace boost { namespace fusion { namespace detail
struct sequence_equal_to<Seq1, Seq2, false>
{
template <typename I1, typename I2>
+ BOOST_FUSION_GPU_ENABLED
static bool
call(I1 const& /*a*/, I2 const& /*b*/)
{
diff --git a/boost/fusion/sequence/comparison/detail/greater.hpp b/boost/fusion/sequence/comparison/detail/greater.hpp
index e61287765f..d875f16b2b 100644
--- a/boost/fusion/sequence/comparison/detail/greater.hpp
+++ b/boost/fusion/sequence/comparison/detail/greater.hpp
@@ -8,6 +8,7 @@
#if !defined(FUSION_GREATER_05052005_1142)
#define FUSION_GREATER_05052005_1142
+#include <boost/fusion/support/config.hpp>
#include <boost/mpl/bool.hpp>
#include <boost/fusion/iterator/deref.hpp>
#include <boost/fusion/iterator/next.hpp>
@@ -23,6 +24,7 @@ namespace boost { namespace fusion { namespace detail
typedef typename result_of::end<Seq2>::type end2_type;
template <typename I1, typename I2>
+ BOOST_FUSION_GPU_ENABLED
static bool
call(I1 const&, I2 const&, mpl::true_)
{
@@ -30,6 +32,7 @@ namespace boost { namespace fusion { namespace detail
}
template <typename I1, typename I2>
+ BOOST_FUSION_GPU_ENABLED
static bool
call(I1 const& a, I2 const& b, mpl::false_)
{
@@ -39,6 +42,7 @@ namespace boost { namespace fusion { namespace detail
}
template <typename I1, typename I2>
+ BOOST_FUSION_GPU_ENABLED
static bool
call(I1 const& a, I2 const& b)
{
diff --git a/boost/fusion/sequence/comparison/detail/greater_equal.hpp b/boost/fusion/sequence/comparison/detail/greater_equal.hpp
index 6d91e27bbd..e0aa530e18 100644
--- a/boost/fusion/sequence/comparison/detail/greater_equal.hpp
+++ b/boost/fusion/sequence/comparison/detail/greater_equal.hpp
@@ -8,6 +8,7 @@
#if !defined(FUSION_GREATER_EQUAL_05052005_1142)
#define FUSION_GREATER_EQUAL_05052005_1142
+#include <boost/fusion/support/config.hpp>
#include <boost/mpl/bool.hpp>
#include <boost/fusion/iterator/deref.hpp>
#include <boost/fusion/iterator/next.hpp>
@@ -23,6 +24,7 @@ namespace boost { namespace fusion { namespace detail
typedef typename result_of::end<Seq2>::type end2_type;
template <typename I1, typename I2>
+ BOOST_FUSION_GPU_ENABLED
static bool
call(I1 const&, I2 const&, mpl::true_)
{
@@ -30,6 +32,7 @@ namespace boost { namespace fusion { namespace detail
}
template <typename I1, typename I2>
+ BOOST_FUSION_GPU_ENABLED
static bool
call(I1 const& a, I2 const& b, mpl::false_)
{
@@ -39,6 +42,7 @@ namespace boost { namespace fusion { namespace detail
}
template <typename I1, typename I2>
+ BOOST_FUSION_GPU_ENABLED
static bool
call(I1 const& a, I2 const& b)
{
diff --git a/boost/fusion/sequence/comparison/detail/less.hpp b/boost/fusion/sequence/comparison/detail/less.hpp
index 1342bb1427..8964ca7d13 100644
--- a/boost/fusion/sequence/comparison/detail/less.hpp
+++ b/boost/fusion/sequence/comparison/detail/less.hpp
@@ -8,6 +8,7 @@
#if !defined(FUSION_LESS_05052005_1141)
#define FUSION_LESS_05052005_1141
+#include <boost/fusion/support/config.hpp>
#include <boost/mpl/bool.hpp>
#include <boost/fusion/iterator/deref.hpp>
#include <boost/fusion/iterator/next.hpp>
@@ -23,6 +24,7 @@ namespace boost { namespace fusion { namespace detail
typedef typename result_of::end<Seq2>::type end2_type;
template <typename I1, typename I2>
+ BOOST_FUSION_GPU_ENABLED
static bool
call(I1 const&, I2 const&, mpl::true_)
{
@@ -30,6 +32,7 @@ namespace boost { namespace fusion { namespace detail
}
template <typename I1, typename I2>
+ BOOST_FUSION_GPU_ENABLED
static bool
call(I1 const& a, I2 const& b, mpl::false_)
{
@@ -39,6 +42,7 @@ namespace boost { namespace fusion { namespace detail
}
template <typename I1, typename I2>
+ BOOST_FUSION_GPU_ENABLED
static bool
call(I1 const& a, I2 const& b)
{
diff --git a/boost/fusion/sequence/comparison/detail/less_equal.hpp b/boost/fusion/sequence/comparison/detail/less_equal.hpp
index 5683849a2c..10bcb76791 100644
--- a/boost/fusion/sequence/comparison/detail/less_equal.hpp
+++ b/boost/fusion/sequence/comparison/detail/less_equal.hpp
@@ -8,6 +8,7 @@
#if !defined(FUSION_LESS_EQUAL_05052005_1141)
#define FUSION_LESS_EQUAL_05052005_1141
+#include <boost/fusion/support/config.hpp>
#include <boost/mpl/bool.hpp>
#include <boost/fusion/iterator/deref.hpp>
#include <boost/fusion/iterator/next.hpp>
@@ -23,6 +24,7 @@ namespace boost { namespace fusion { namespace detail
typedef typename result_of::end<Seq2>::type end2_type;
template <typename I1, typename I2>
+ BOOST_FUSION_GPU_ENABLED
static bool
call(I1 const&, I2 const&, mpl::true_)
{
@@ -30,6 +32,7 @@ namespace boost { namespace fusion { namespace detail
}
template <typename I1, typename I2>
+ BOOST_FUSION_GPU_ENABLED
static bool
call(I1 const& a, I2 const& b, mpl::false_)
{
@@ -39,6 +42,7 @@ namespace boost { namespace fusion { namespace detail
}
template <typename I1, typename I2>
+ BOOST_FUSION_GPU_ENABLED
static bool
call(I1 const& a, I2 const& b)
{
diff --git a/boost/fusion/sequence/comparison/detail/not_equal_to.hpp b/boost/fusion/sequence/comparison/detail/not_equal_to.hpp
index 77c235089f..b230ac1fba 100644
--- a/boost/fusion/sequence/comparison/detail/not_equal_to.hpp
+++ b/boost/fusion/sequence/comparison/detail/not_equal_to.hpp
@@ -8,6 +8,7 @@
#if !defined(FUSION_NOT_EQUAL_TO_05052005_1141)
#define FUSION_NOT_EQUAL_TO_05052005_1141
+#include <boost/fusion/support/config.hpp>
#include <boost/mpl/bool.hpp>
#include <boost/fusion/iterator/deref.hpp>
#include <boost/fusion/iterator/next.hpp>
@@ -23,6 +24,7 @@ namespace boost { namespace fusion { namespace detail
typedef typename result_of::end<Seq2>::type end2_type;
template <typename I1, typename I2>
+ BOOST_FUSION_GPU_ENABLED
static bool
call(I1 const&, I2 const&, mpl::true_)
{
@@ -30,6 +32,7 @@ namespace boost { namespace fusion { namespace detail
}
template <typename I1, typename I2>
+ BOOST_FUSION_GPU_ENABLED
static bool
call(I1 const& a, I2 const& b, mpl::false_)
{
@@ -38,6 +41,7 @@ namespace boost { namespace fusion { namespace detail
}
template <typename I1, typename I2>
+ BOOST_FUSION_GPU_ENABLED
static bool
call(I1 const& a, I2 const& b)
{
@@ -50,6 +54,7 @@ namespace boost { namespace fusion { namespace detail
struct sequence_not_equal_to<Seq1, Seq2, false>
{
template <typename I1, typename I2>
+ BOOST_FUSION_GPU_ENABLED
static bool
call(I1 const& a, I2 const& b)
{
diff --git a/boost/fusion/sequence/comparison/enable_comparison.hpp b/boost/fusion/sequence/comparison/enable_comparison.hpp
index bd55ac302e..1279417714 100644
--- a/boost/fusion/sequence/comparison/enable_comparison.hpp
+++ b/boost/fusion/sequence/comparison/enable_comparison.hpp
@@ -7,6 +7,7 @@
#if !defined(FUSION_ENABLE_COMPARISON_09232005_1958)
#define FUSION_ENABLE_COMPARISON_09232005_1958
+#include <boost/fusion/support/config.hpp>
#include <boost/mpl/or.hpp>
#include <boost/mpl/and.hpp>
#include <boost/mpl/not.hpp>
diff --git a/boost/fusion/sequence/comparison/equal_to.hpp b/boost/fusion/sequence/comparison/equal_to.hpp
index 9c4e043558..485df0bac2 100644
--- a/boost/fusion/sequence/comparison/equal_to.hpp
+++ b/boost/fusion/sequence/comparison/equal_to.hpp
@@ -8,6 +8,7 @@
#if !defined(FUSION_EQUAL_TO_05052005_0431)
#define FUSION_EQUAL_TO_05052005_0431
+#include <boost/fusion/support/config.hpp>
#include <boost/fusion/sequence/intrinsic/begin.hpp>
#include <boost/fusion/sequence/intrinsic/end.hpp>
#include <boost/fusion/sequence/intrinsic/size.hpp>
@@ -23,6 +24,7 @@
namespace boost { namespace fusion
{
template <typename Seq1, typename Seq2>
+ BOOST_FUSION_GPU_ENABLED
inline bool
equal_to(Seq1 const& a, Seq2 const& b)
{
@@ -36,6 +38,7 @@ namespace boost { namespace fusion
namespace operators
{
template <typename Seq1, typename Seq2>
+ BOOST_FUSION_GPU_ENABLED
inline typename
boost::enable_if<
traits::enable_equality<Seq1, Seq2>
diff --git a/boost/fusion/sequence/comparison/greater.hpp b/boost/fusion/sequence/comparison/greater.hpp
index 077138d80d..5ad7ef74b9 100644
--- a/boost/fusion/sequence/comparison/greater.hpp
+++ b/boost/fusion/sequence/comparison/greater.hpp
@@ -8,6 +8,7 @@
#if !defined(FUSION_GREATER_05052005_0432)
#define FUSION_GREATER_05052005_0432
+#include <boost/fusion/support/config.hpp>
#include <boost/fusion/sequence/intrinsic/begin.hpp>
#include <boost/fusion/sequence/intrinsic/end.hpp>
#include <boost/fusion/sequence/intrinsic/size.hpp>
@@ -22,6 +23,7 @@
namespace boost { namespace fusion
{
template <typename Seq1, typename Seq2>
+ BOOST_FUSION_GPU_ENABLED
inline bool
greater(Seq1 const& a, Seq2 const& b)
{
@@ -36,6 +38,7 @@ namespace boost { namespace fusion
namespace operators
{
template <typename Seq1, typename Seq2>
+ BOOST_FUSION_GPU_ENABLED
inline typename
boost::enable_if<
traits::enable_comparison<Seq1, Seq2>
diff --git a/boost/fusion/sequence/comparison/greater_equal.hpp b/boost/fusion/sequence/comparison/greater_equal.hpp
index 90175bc7d2..65904f8339 100644
--- a/boost/fusion/sequence/comparison/greater_equal.hpp
+++ b/boost/fusion/sequence/comparison/greater_equal.hpp
@@ -8,6 +8,7 @@
#if !defined(FUSION_GREATER_EQUAL_05052005_0432)
#define FUSION_GREATER_EQUAL_05052005_0432
+#include <boost/fusion/support/config.hpp>
#include <boost/fusion/sequence/intrinsic/begin.hpp>
#include <boost/fusion/sequence/intrinsic/end.hpp>
#include <boost/fusion/sequence/intrinsic/size.hpp>
@@ -22,6 +23,7 @@
namespace boost { namespace fusion
{
template <typename Seq1, typename Seq2>
+ BOOST_FUSION_GPU_ENABLED
inline bool
greater_equal(Seq1 const& a, Seq2 const& b)
{
@@ -36,6 +38,7 @@ namespace boost { namespace fusion
namespace operators
{
template <typename Seq1, typename Seq2>
+ BOOST_FUSION_GPU_ENABLED
inline typename
boost::enable_if<
traits::enable_comparison<Seq1, Seq2>
diff --git a/boost/fusion/sequence/comparison/less.hpp b/boost/fusion/sequence/comparison/less.hpp
index 944cdcf69e..28762b7394 100644
--- a/boost/fusion/sequence/comparison/less.hpp
+++ b/boost/fusion/sequence/comparison/less.hpp
@@ -8,6 +8,7 @@
#if !defined(FUSION_LESS_05052005_0432)
#define FUSION_LESS_05052005_0432
+#include <boost/fusion/support/config.hpp>
#include <boost/fusion/sequence/intrinsic/begin.hpp>
#include <boost/fusion/sequence/intrinsic/end.hpp>
#include <boost/fusion/sequence/intrinsic/size.hpp>
@@ -17,6 +18,7 @@
namespace boost { namespace fusion
{
template <typename Seq1, typename Seq2>
+ BOOST_FUSION_GPU_ENABLED
inline bool
less(Seq1 const& a, Seq2 const& b)
{
@@ -27,6 +29,7 @@ namespace boost { namespace fusion
namespace operators
{
template <typename Seq1, typename Seq2>
+ BOOST_FUSION_GPU_ENABLED
inline typename
boost::enable_if<
traits::enable_comparison<Seq1, Seq2>
diff --git a/boost/fusion/sequence/comparison/less_equal.hpp b/boost/fusion/sequence/comparison/less_equal.hpp
index 0e5d23a5eb..d0668208f0 100644
--- a/boost/fusion/sequence/comparison/less_equal.hpp
+++ b/boost/fusion/sequence/comparison/less_equal.hpp
@@ -8,6 +8,7 @@
#if !defined(FUSION_LESS_EQUAL_05052005_0432)
#define FUSION_LESS_EQUAL_05052005_0432
+#include <boost/fusion/support/config.hpp>
#include <boost/fusion/sequence/intrinsic/begin.hpp>
#include <boost/fusion/sequence/intrinsic/end.hpp>
#include <boost/fusion/sequence/intrinsic/size.hpp>
@@ -23,6 +24,7 @@
namespace boost { namespace fusion
{
template <typename Seq1, typename Seq2>
+ BOOST_FUSION_GPU_ENABLED
inline bool
less_equal(Seq1 const& a, Seq2 const& b)
{
@@ -39,6 +41,7 @@ namespace boost { namespace fusion
#if defined(BOOST_MSVC) && (BOOST_MSVC <= 1400)
// Workaround for VC8.0 and VC7.1
template <typename Seq1, typename Seq2>
+ BOOST_FUSION_GPU_ENABLED
inline bool
operator<=(sequence_base<Seq1> const& a, sequence_base<Seq2> const& b)
{
@@ -46,6 +49,7 @@ namespace boost { namespace fusion
}
template <typename Seq1, typename Seq2>
+ BOOST_FUSION_GPU_ENABLED
inline typename disable_if<traits::is_native_fusion_sequence<Seq2>, bool>::type
operator<=(sequence_base<Seq1> const& a, Seq2 const& b)
{
@@ -53,6 +57,7 @@ namespace boost { namespace fusion
}
template <typename Seq1, typename Seq2>
+ BOOST_FUSION_GPU_ENABLED
inline typename disable_if<traits::is_native_fusion_sequence<Seq1>, bool>::type
operator<=(Seq1 const& a, sequence_base<Seq2> const& b)
{
@@ -64,6 +69,7 @@ namespace boost { namespace fusion
// but barfs somewhere else.
template <typename Seq1, typename Seq2>
+ BOOST_FUSION_GPU_ENABLED
inline typename
boost::enable_if<
traits::enable_comparison<Seq1, Seq2>
diff --git a/boost/fusion/sequence/comparison/not_equal_to.hpp b/boost/fusion/sequence/comparison/not_equal_to.hpp
index 14ef25df7f..4cd94f9e53 100644
--- a/boost/fusion/sequence/comparison/not_equal_to.hpp
+++ b/boost/fusion/sequence/comparison/not_equal_to.hpp
@@ -8,6 +8,7 @@
#if !defined(FUSION_NOT_EQUAL_TO_05052005_0431)
#define FUSION_NOT_EQUAL_TO_05052005_0431
+#include <boost/fusion/support/config.hpp>
#include <boost/fusion/sequence/intrinsic/begin.hpp>
#include <boost/fusion/sequence/intrinsic/end.hpp>
#include <boost/fusion/sequence/intrinsic/size.hpp>
@@ -22,6 +23,7 @@
namespace boost { namespace fusion
{
template <typename Seq1, typename Seq2>
+ BOOST_FUSION_GPU_ENABLED
inline bool
not_equal_to(Seq1 const& a, Seq2 const& b)
{
@@ -39,6 +41,7 @@ namespace boost { namespace fusion
namespace operators
{
template <typename Seq1, typename Seq2>
+ BOOST_FUSION_GPU_ENABLED
inline typename
boost::enable_if<
traits::enable_equality<Seq1, Seq2>
diff --git a/boost/fusion/sequence/convert.hpp b/boost/fusion/sequence/convert.hpp
index 5264810102..461b92120d 100644
--- a/boost/fusion/sequence/convert.hpp
+++ b/boost/fusion/sequence/convert.hpp
@@ -20,15 +20,16 @@ namespace boost { namespace fusion
template <typename Tag, typename Sequence>
struct convert
{
- typedef typename extension::convert_impl<Tag> gen;
-
typedef typename
- gen::template apply<Sequence>::type
- type;
+ extension::convert_impl<Tag>::template apply<Sequence>
+ gen;
+
+ typedef typename gen::type type;
};
}
template <typename Tag, typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
inline typename result_of::convert<Tag, Sequence>::type
convert(Sequence& seq)
{
@@ -37,6 +38,7 @@ namespace boost { namespace fusion
}
template <typename Tag, typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
inline typename result_of::convert<Tag, Sequence const>::type
convert(Sequence const& seq)
{
diff --git a/boost/fusion/sequence/intrinsic.hpp b/boost/fusion/sequence/intrinsic.hpp
index 7da2cf03d5..4583807406 100644
--- a/boost/fusion/sequence/intrinsic.hpp
+++ b/boost/fusion/sequence/intrinsic.hpp
@@ -7,6 +7,7 @@
#if !defined(FUSION_SEQUENCE_INTRINSIC_10022005_0618)
#define FUSION_SEQUENCE_INTRINSIC_10022005_0618
+#include <boost/fusion/support/config.hpp>
#include <boost/fusion/sequence/intrinsic/at.hpp>
#include <boost/fusion/sequence/intrinsic/back.hpp>
#include <boost/fusion/sequence/intrinsic/begin.hpp>
diff --git a/boost/fusion/sequence/intrinsic/at.hpp b/boost/fusion/sequence/intrinsic/at.hpp
index 92da7bbd2c..aa0d97445d 100644
--- a/boost/fusion/sequence/intrinsic/at.hpp
+++ b/boost/fusion/sequence/intrinsic/at.hpp
@@ -7,6 +7,7 @@
#if !defined(FUSION_AT_05042005_0722)
#define FUSION_AT_05042005_0722
+#include <boost/fusion/support/config.hpp>
#include <boost/mpl/int.hpp>
#include <boost/type_traits/is_const.hpp>
#include <boost/fusion/sequence/intrinsic_fwd.hpp>
@@ -71,6 +72,7 @@ namespace boost { namespace fusion
template <typename N, typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
inline typename
lazy_disable_if<
is_const<Sequence>
@@ -82,6 +84,7 @@ namespace boost { namespace fusion
}
template <typename N, typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
inline typename result_of::at<Sequence const, N>::type
at(Sequence const& seq)
{
@@ -89,6 +92,7 @@ namespace boost { namespace fusion
}
template <int N, typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
inline typename
lazy_disable_if<
is_const<Sequence>
@@ -100,6 +104,7 @@ namespace boost { namespace fusion
}
template <int N, typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
inline typename result_of::at_c<Sequence const, N>::type
at_c(Sequence const& seq)
{
diff --git a/boost/fusion/sequence/intrinsic/at_c.hpp b/boost/fusion/sequence/intrinsic/at_c.hpp
index 449e3f4149..327798c0ce 100644
--- a/boost/fusion/sequence/intrinsic/at_c.hpp
+++ b/boost/fusion/sequence/intrinsic/at_c.hpp
@@ -7,6 +7,7 @@
#if !defined(FUSION_AT_C_08252008_0308)
#define FUSION_AT_C_08252008_0308
+#include <boost/fusion/support/config.hpp>
#include <boost/fusion/sequence/intrinsic/at.hpp>
#endif
diff --git a/boost/fusion/sequence/intrinsic/at_key.hpp b/boost/fusion/sequence/intrinsic/at_key.hpp
index 24c2fffa65..844de840e4 100644
--- a/boost/fusion/sequence/intrinsic/at_key.hpp
+++ b/boost/fusion/sequence/intrinsic/at_key.hpp
@@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_AT_KEY_20060304_1755)
#define BOOST_FUSION_AT_KEY_20060304_1755
+#include <boost/fusion/support/config.hpp>
#include <boost/type_traits/is_const.hpp>
#include <boost/fusion/sequence/intrinsic_fwd.hpp>
#include <boost/fusion/algorithm/query/find.hpp>
@@ -37,6 +38,7 @@ namespace boost { namespace fusion
>::type
type;
+ BOOST_FUSION_GPU_ENABLED
static type
call(Seq& seq)
{
@@ -72,6 +74,7 @@ namespace boost { namespace fusion
}
template <typename Key, typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
inline typename
lazy_disable_if<
is_const<Sequence>
@@ -83,6 +86,7 @@ namespace boost { namespace fusion
}
template <typename Key, typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
inline typename result_of::at_key<Sequence const, Key>::type
at_key(Sequence const& seq)
{
diff --git a/boost/fusion/sequence/intrinsic/back.hpp b/boost/fusion/sequence/intrinsic/back.hpp
index 0a4d482053..f934355381 100644
--- a/boost/fusion/sequence/intrinsic/back.hpp
+++ b/boost/fusion/sequence/intrinsic/back.hpp
@@ -7,6 +7,7 @@
#if !defined(FUSION_BACK_09162005_0350)
#define FUSION_BACK_09162005_0350
+#include <boost/fusion/support/config.hpp>
#include <boost/fusion/sequence/intrinsic_fwd.hpp>
#include <boost/fusion/sequence/intrinsic/end.hpp>
#include <boost/fusion/iterator/prior.hpp>
@@ -26,6 +27,7 @@ namespace boost { namespace fusion
}
template <typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
inline typename result_of::back<Sequence>::type
back(Sequence& seq)
{
@@ -33,6 +35,7 @@ namespace boost { namespace fusion
}
template <typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
inline typename result_of::back<Sequence const>::type
back(Sequence const& seq)
{
diff --git a/boost/fusion/sequence/intrinsic/begin.hpp b/boost/fusion/sequence/intrinsic/begin.hpp
index 7a7ecf6afd..af4e31225d 100644
--- a/boost/fusion/sequence/intrinsic/begin.hpp
+++ b/boost/fusion/sequence/intrinsic/begin.hpp
@@ -7,6 +7,7 @@
#if !defined(FUSION_BEGIN_04052005_1132)
#define FUSION_BEGIN_04052005_1132
+#include <boost/fusion/support/config.hpp>
#include <boost/blank.hpp>
#include <boost/utility/enable_if.hpp>
#include <boost/mpl/if.hpp>
@@ -70,6 +71,7 @@ namespace boost { namespace fusion
}
template <typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
inline typename
lazy_enable_if<
traits::is_sequence<Sequence>
@@ -81,6 +83,7 @@ namespace boost { namespace fusion
}
template <typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
inline typename
lazy_enable_if<
traits::is_sequence<Sequence>
diff --git a/boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp b/boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp
index 968718eb2a..81d09660b1 100644
--- a/boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp
+++ b/boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp
@@ -7,6 +7,7 @@
#if !defined(BOOST_FUSION_SEGMENTED_BEGIN_HPP_INCLUDED)
#define BOOST_FUSION_SEGMENTED_BEGIN_HPP_INCLUDED
+#include <boost/fusion/support/config.hpp>
#include <boost/fusion/sequence/intrinsic/detail/segmented_begin_impl.hpp>
#include <boost/fusion/iterator/segmented_iterator.hpp>
#include <boost/fusion/view/iterator_range.hpp>
@@ -19,22 +20,23 @@ namespace boost { namespace fusion { namespace detail
{
//auto segmented_begin( seq )
//{
- // return make_segmented_iterator( segmented_begin_impl( seq, nil ) );
+ // return make_segmented_iterator( segmented_begin_impl( seq, nil_ ) );
//}
- template <typename Sequence, typename Nil = fusion::nil>
+ template <typename Sequence, typename Nil_ = fusion::nil_>
struct segmented_begin
{
typedef
segmented_iterator<
- typename segmented_begin_impl<Sequence, Nil>::type
+ typename segmented_begin_impl<Sequence, Nil_>::type
>
type;
+ BOOST_FUSION_GPU_ENABLED
static type call(Sequence& seq)
{
return type(
- segmented_begin_impl<Sequence, Nil>::call(seq, Nil()));
+ segmented_begin_impl<Sequence, Nil_>::call(seq, Nil_()));
}
};
diff --git a/boost/fusion/sequence/intrinsic/detail/segmented_begin_impl.hpp b/boost/fusion/sequence/intrinsic/detail/segmented_begin_impl.hpp
index 5069432761..2ab462702d 100644
--- a/boost/fusion/sequence/intrinsic/detail/segmented_begin_impl.hpp
+++ b/boost/fusion/sequence/intrinsic/detail/segmented_begin_impl.hpp
@@ -7,6 +7,7 @@
#if !defined(BOOST_FUSION_SEGMENTED_BEGIN_IMPL_HPP_INCLUDED)
#define BOOST_FUSION_SEGMENTED_BEGIN_IMPL_HPP_INCLUDED
+#include <boost/fusion/support/config.hpp>
#include <boost/type_traits/remove_const.hpp>
#include <boost/fusion/container/list/cons_fwd.hpp>
#include <boost/fusion/sequence/intrinsic_fwd.hpp>
@@ -37,6 +38,7 @@ namespace boost { namespace fusion { namespace detail
typedef cons<range_type, Context> type;
typedef mpl::false_ continue_type;
+ BOOST_FUSION_GPU_ENABLED
static type call(Sequence& seq, State const&, Context const& context, segmented_begin_fun)
{
return type(range_type(fusion::begin(seq), fusion::end(seq)), context);
@@ -62,6 +64,7 @@ namespace boost { namespace fusion { namespace detail
typedef typename fold_impl::type type;
+ BOOST_FUSION_GPU_ENABLED
static type call(Sequence& seq, Stack const& stack)
{
return fold_impl::call(seq, end_impl::call(seq, stack), stack, segmented_begin_fun());
@@ -76,6 +79,7 @@ namespace boost { namespace fusion { namespace detail
typedef iterator_range<begin_type, end_type> pair_type;
typedef cons<pair_type, Stack> type;
+ BOOST_FUSION_GPU_ENABLED
static type call(Sequence& seq, Stack stack)
{
return type(pair_type(fusion::begin(seq), fusion::end(seq)), stack);
diff --git a/boost/fusion/sequence/intrinsic/detail/segmented_end.hpp b/boost/fusion/sequence/intrinsic/detail/segmented_end.hpp
index 469862ac3b..c26865a671 100644
--- a/boost/fusion/sequence/intrinsic/detail/segmented_end.hpp
+++ b/boost/fusion/sequence/intrinsic/detail/segmented_end.hpp
@@ -7,6 +7,7 @@
#if !defined(BOOST_FUSION_SEGMENTED_END_HPP_INCLUDED)
#define BOOST_FUSION_SEGMENTED_END_HPP_INCLUDED
+#include <boost/fusion/support/config.hpp>
#include <boost/fusion/sequence/intrinsic/detail/segmented_end_impl.hpp>
#include <boost/fusion/iterator/segmented_iterator.hpp>
#include <boost/fusion/container/list/cons.hpp>
@@ -18,19 +19,20 @@ namespace boost { namespace fusion { namespace detail
// return make_segmented_iterator( segmented_end_impl( seq ) );
//}
- template <typename Sequence, typename Nil = fusion::nil>
+ template <typename Sequence, typename Nil_ = fusion::nil_>
struct segmented_end
{
typedef
segmented_iterator<
- typename segmented_end_impl<Sequence, Nil>::type
+ typename segmented_end_impl<Sequence, Nil_>::type
>
type;
+ BOOST_FUSION_GPU_ENABLED
static type call(Sequence & seq)
{
return type(
- segmented_end_impl<Sequence, Nil>::call(seq, Nil()));
+ segmented_end_impl<Sequence, Nil_>::call(seq, Nil_()));
}
};
diff --git a/boost/fusion/sequence/intrinsic/detail/segmented_end_impl.hpp b/boost/fusion/sequence/intrinsic/detail/segmented_end_impl.hpp
index 149027bc2d..9be150433a 100644
--- a/boost/fusion/sequence/intrinsic/detail/segmented_end_impl.hpp
+++ b/boost/fusion/sequence/intrinsic/detail/segmented_end_impl.hpp
@@ -7,6 +7,7 @@
#if !defined(BOOST_FUSION_SEGMENTED_END_IMPL_HPP_INCLUDED)
#define BOOST_FUSION_SEGMENTED_END_IMPL_HPP_INCLUDED
+#include <boost/fusion/support/config.hpp>
#include <boost/mpl/assert.hpp>
#include <boost/type_traits/add_const.hpp>
#include <boost/type_traits/remove_reference.hpp>
@@ -47,6 +48,7 @@ namespace boost { namespace fusion { namespace detail
typedef iterator_range<end_type, end_type> pair_type;
typedef cons<pair_type, Stack> type;
+ BOOST_FUSION_GPU_ENABLED
static type call(Sequence & seq, Stack stack)
{
end_type end = fusion::end(fusion::segments(seq));
diff --git a/boost/fusion/sequence/intrinsic/detail/segmented_size.hpp b/boost/fusion/sequence/intrinsic/detail/segmented_size.hpp
index 03cef28fa5..4defcedde1 100644
--- a/boost/fusion/sequence/intrinsic/detail/segmented_size.hpp
+++ b/boost/fusion/sequence/intrinsic/detail/segmented_size.hpp
@@ -7,6 +7,7 @@
#if !defined(BOOST_FUSION_SEGMENTED_SIZE_08112006_1141)
#define BOOST_FUSION_SEGMENTED_SIZE_08112006_1141
+#include <boost/fusion/support/config.hpp>
#include <boost/type_traits/add_const.hpp>
#include <boost/type_traits/remove_reference.hpp>
#include <boost/mpl/fold.hpp>
diff --git a/boost/fusion/sequence/intrinsic/empty.hpp b/boost/fusion/sequence/intrinsic/empty.hpp
index a9928ab1a1..3c8666abd4 100644
--- a/boost/fusion/sequence/intrinsic/empty.hpp
+++ b/boost/fusion/sequence/intrinsic/empty.hpp
@@ -7,6 +7,7 @@
#if !defined(FUSION_EMPTY_09162005_0335)
#define FUSION_EMPTY_09162005_0335
+#include <boost/fusion/support/config.hpp>
#include <boost/fusion/sequence/intrinsic_fwd.hpp>
#include <boost/fusion/sequence/intrinsic/size.hpp>
#include <boost/mpl/bool.hpp>
@@ -50,6 +51,7 @@ namespace boost { namespace fusion
}
template <typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
inline typename result_of::empty<Sequence>::type
empty(Sequence const&)
{
diff --git a/boost/fusion/sequence/intrinsic/end.hpp b/boost/fusion/sequence/intrinsic/end.hpp
index 995ed7a083..3e69518efa 100644
--- a/boost/fusion/sequence/intrinsic/end.hpp
+++ b/boost/fusion/sequence/intrinsic/end.hpp
@@ -7,6 +7,7 @@
#if !defined(FUSION_END_04052005_1141)
#define FUSION_END_04052005_1141
+#include <boost/fusion/support/config.hpp>
#include <boost/blank.hpp>
#include <boost/utility/enable_if.hpp>
#include <boost/mpl/if.hpp>
@@ -70,6 +71,7 @@ namespace boost { namespace fusion
}
template <typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
inline typename
lazy_enable_if<
traits::is_sequence<Sequence>
@@ -81,6 +83,7 @@ namespace boost { namespace fusion
}
template <typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
inline typename
lazy_enable_if<
traits::is_sequence<Sequence>
diff --git a/boost/fusion/sequence/intrinsic/front.hpp b/boost/fusion/sequence/intrinsic/front.hpp
index 0e50e3ca75..6d939da3d3 100644
--- a/boost/fusion/sequence/intrinsic/front.hpp
+++ b/boost/fusion/sequence/intrinsic/front.hpp
@@ -7,6 +7,7 @@
#if !defined(FUSION_FRONT_09162005_0343)
#define FUSION_FRONT_09162005_0343
+#include <boost/fusion/support/config.hpp>
#include <boost/fusion/sequence/intrinsic_fwd.hpp>
#include <boost/fusion/sequence/intrinsic/begin.hpp>
#include <boost/fusion/iterator/deref.hpp>
@@ -25,6 +26,7 @@ namespace boost { namespace fusion
}
template <typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
inline typename result_of::front<Sequence>::type
front(Sequence& seq)
{
@@ -32,6 +34,7 @@ namespace boost { namespace fusion
}
template <typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
inline typename result_of::front<Sequence const>::type
front(Sequence const& seq)
{
diff --git a/boost/fusion/sequence/intrinsic/has_key.hpp b/boost/fusion/sequence/intrinsic/has_key.hpp
index 1ff05bad06..bba2c695b3 100644
--- a/boost/fusion/sequence/intrinsic/has_key.hpp
+++ b/boost/fusion/sequence/intrinsic/has_key.hpp
@@ -7,6 +7,7 @@
#if !defined(FUSION_HAS_KEY_09232005_1454)
#define FUSION_HAS_KEY_09232005_1454
+#include <boost/fusion/support/config.hpp>
#include <boost/fusion/sequence/intrinsic_fwd.hpp>
#include <boost/fusion/support/tag_of.hpp>
#include <boost/fusion/iterator/equal_to.hpp>
@@ -67,8 +68,9 @@ namespace boost { namespace fusion
}
template <typename Key, typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
inline typename result_of::has_key<Sequence, Key>::type
- has_key(Sequence const& seq)
+ has_key(Sequence const&)
{
typedef typename result_of::has_key<Sequence, Key>::type result;
return result();
diff --git a/boost/fusion/sequence/intrinsic/segments.hpp b/boost/fusion/sequence/intrinsic/segments.hpp
index afd5d400eb..a1bbacaf06 100644
--- a/boost/fusion/sequence/intrinsic/segments.hpp
+++ b/boost/fusion/sequence/intrinsic/segments.hpp
@@ -7,6 +7,7 @@
#if !defined(BOOST_FUSION_SEGMENTS_04052005_1141)
#define BOOST_FUSION_SEGMENTS_04052005_1141
+#include <boost/fusion/support/config.hpp>
#include <boost/type_traits/is_const.hpp>
#include <boost/utility/enable_if.hpp>
#include <boost/fusion/sequence/intrinsic_fwd.hpp>
@@ -53,6 +54,7 @@ namespace boost { namespace fusion
}
template <typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
inline typename
lazy_disable_if<
is_const<Sequence>
@@ -65,6 +67,7 @@ namespace boost { namespace fusion
}
template <typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
inline typename result_of::segments<Sequence const>::type
segments(Sequence const& seq)
{
diff --git a/boost/fusion/sequence/intrinsic/size.hpp b/boost/fusion/sequence/intrinsic/size.hpp
index 0a1c1659b2..51e613f693 100644
--- a/boost/fusion/sequence/intrinsic/size.hpp
+++ b/boost/fusion/sequence/intrinsic/size.hpp
@@ -7,6 +7,7 @@
#if !defined(FUSION_SIZE_05052005_0214)
#define FUSION_SIZE_05052005_0214
+#include <boost/fusion/support/config.hpp>
#include <boost/utility/enable_if.hpp>
#include <boost/mpl/if.hpp>
#include <boost/mpl/int.hpp>
@@ -77,6 +78,7 @@ namespace boost { namespace fusion
}
template <typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
inline typename result_of::size<Sequence>::type
size(Sequence const&)
{
diff --git a/boost/fusion/sequence/intrinsic/swap.hpp b/boost/fusion/sequence/intrinsic/swap.hpp
index 329f812484..05ce9b44b1 100644
--- a/boost/fusion/sequence/intrinsic/swap.hpp
+++ b/boost/fusion/sequence/intrinsic/swap.hpp
@@ -8,6 +8,7 @@
#if !defined(BOOST_FUSION_SWAP_20070501_1956)
#define BOOST_FUSION_SWAP_20070501_1956
+#include <boost/fusion/support/config.hpp>
#include <algorithm>
#include <boost/fusion/support/is_sequence.hpp>
@@ -39,6 +40,7 @@ namespace boost { namespace fusion {
};
template<typename Elem>
+ BOOST_FUSION_GPU_ENABLED
void operator()(Elem const& e) const
{
using std::swap;
@@ -48,6 +50,7 @@ namespace boost { namespace fusion {
}
template<typename Seq1, typename Seq2>
+ BOOST_FUSION_GPU_ENABLED
typename enable_if<mpl::and_<traits::is_sequence<Seq1>, traits::is_sequence<Seq2> >, void>::type
swap(Seq1& lhs, Seq2& rhs)
{
diff --git a/boost/fusion/sequence/intrinsic/value_at.hpp b/boost/fusion/sequence/intrinsic/value_at.hpp
index ce314a8362..362669b521 100644
--- a/boost/fusion/sequence/intrinsic/value_at.hpp
+++ b/boost/fusion/sequence/intrinsic/value_at.hpp
@@ -7,6 +7,7 @@
#if !defined(FUSION_VALUE_AT_05052005_0229)
#define FUSION_VALUE_AT_05052005_0229
+#include <boost/fusion/support/config.hpp>
#include <boost/mpl/int.hpp>
#include <boost/fusion/sequence/intrinsic_fwd.hpp>
#include <boost/fusion/support/tag_of.hpp>
diff --git a/boost/fusion/sequence/intrinsic/value_at_key.hpp b/boost/fusion/sequence/intrinsic/value_at_key.hpp
index 23d34ee6bc..6d8be3fbcd 100644
--- a/boost/fusion/sequence/intrinsic/value_at_key.hpp
+++ b/boost/fusion/sequence/intrinsic/value_at_key.hpp
@@ -8,6 +8,7 @@
#if !defined(FUSION_VALUE_AT_KEY_05052005_0229)
#define FUSION_VALUE_AT_KEY_05052005_0229
+#include <boost/fusion/support/config.hpp>
#include <boost/mpl/int.hpp>
#include <boost/fusion/sequence/intrinsic_fwd.hpp>
#include <boost/fusion/iterator/value_of_data.hpp>
diff --git a/boost/fusion/sequence/intrinsic_fwd.hpp b/boost/fusion/sequence/intrinsic_fwd.hpp
index 57409a3917..3b248a04bb 100644
--- a/boost/fusion/sequence/intrinsic_fwd.hpp
+++ b/boost/fusion/sequence/intrinsic_fwd.hpp
@@ -7,6 +7,7 @@
#if !defined(BOOST_FUSION_SEQUENCE_INTRINSIC_FWD_HPP_INCLUDED)
#define BOOST_FUSION_SEQUENCE_INTRINSIC_FWD_HPP_INCLUDED
+#include <boost/fusion/support/config.hpp>
#include <boost/type_traits/is_const.hpp>
#include <boost/utility/enable_if.hpp>
#include <boost/fusion/support/is_sequence.hpp>
@@ -92,6 +93,7 @@ namespace boost { namespace fusion
}
template <typename N, typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
typename
lazy_disable_if<
is_const<Sequence>
@@ -100,10 +102,12 @@ namespace boost { namespace fusion
at(Sequence& seq);
template <typename N, typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
typename result_of::at<Sequence const, N>::type
at(Sequence const& seq);
template <int N, typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
typename
lazy_disable_if<
is_const<Sequence>
@@ -112,18 +116,22 @@ namespace boost { namespace fusion
at_c(Sequence& seq);
template <int N, typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
typename result_of::at_c<Sequence const, N>::type
at_c(Sequence const& seq);
template <typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
typename result_of::back<Sequence>::type
back(Sequence& seq);
template <typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
typename result_of::back<Sequence const>::type
back(Sequence const& seq);
template <typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
typename
lazy_enable_if<
traits::is_sequence<Sequence>
@@ -132,6 +140,7 @@ namespace boost { namespace fusion
begin(Sequence& seq);
template <typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
typename
lazy_enable_if<
traits::is_sequence<Sequence>
@@ -140,10 +149,12 @@ namespace boost { namespace fusion
begin(Sequence const& seq);
template <typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
typename result_of::empty<Sequence>::type
empty(Sequence const&);
template <typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
typename
lazy_enable_if<
traits::is_sequence<Sequence>
@@ -152,6 +163,7 @@ namespace boost { namespace fusion
end(Sequence& seq);
template <typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
typename
lazy_enable_if<
traits::is_sequence<Sequence>
@@ -160,18 +172,22 @@ namespace boost { namespace fusion
end(Sequence const& seq);
template <typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
typename result_of::front<Sequence>::type
front(Sequence& seq);
template <typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
typename result_of::front<Sequence const>::type
front(Sequence const& seq);
template <typename Key, typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
typename result_of::has_key<Sequence, Key>::type
has_key(Sequence const& seq);
template <typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
typename
lazy_disable_if<
is_const<Sequence>
@@ -180,14 +196,17 @@ namespace boost { namespace fusion
segments(Sequence& seq);
template <typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
typename result_of::segments<Sequence const>::type
segments(Sequence const& seq);
template <typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
typename result_of::size<Sequence>::type
size(Sequence const&);
template <typename Key, typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
typename
lazy_disable_if<
is_const<Sequence>
@@ -196,6 +215,7 @@ namespace boost { namespace fusion
at_key(Sequence& seq);
template <typename Key, typename Sequence>
+ BOOST_FUSION_GPU_ENABLED
typename result_of::at_key<Sequence const, Key>::type
at_key(Sequence const& seq);
}}
diff --git a/boost/fusion/sequence/io.hpp b/boost/fusion/sequence/io.hpp
index 1c5925de17..b0baf426c5 100644
--- a/boost/fusion/sequence/io.hpp
+++ b/boost/fusion/sequence/io.hpp
@@ -7,6 +7,7 @@
#if !defined(FUSION_SEQUENCE_IO_10032005_0836)
#define FUSION_SEQUENCE_IO_10032005_0836
+#include <boost/fusion/support/config.hpp>
#include <boost/fusion/sequence/io/in.hpp>
#include <boost/fusion/sequence/io/out.hpp>
diff --git a/boost/fusion/sequence/io/detail/in.hpp b/boost/fusion/sequence/io/detail/in.hpp
index 38c4dd5fa5..d0a8dc4964 100644
--- a/boost/fusion/sequence/io/detail/in.hpp
+++ b/boost/fusion/sequence/io/detail/in.hpp
@@ -9,6 +9,7 @@
#if !defined(FUSION_IN_05052005_0121)
#define FUSION_IN_05052005_0121
+#include <boost/fusion/support/config.hpp>
#include <istream>
#include <boost/fusion/sequence/io/detail/manip.hpp>
diff --git a/boost/fusion/sequence/io/detail/manip.hpp b/boost/fusion/sequence/io/detail/manip.hpp
index 371d0d29f7..8d8c296d3b 100644
--- a/boost/fusion/sequence/io/detail/manip.hpp
+++ b/boost/fusion/sequence/io/detail/manip.hpp
@@ -9,6 +9,7 @@
#if !defined(FUSION_MANIP_05052005_1200)
#define FUSION_MANIP_05052005_1200
+#include <boost/fusion/support/config.hpp>
#include <boost/config.hpp>
#include <string>
#include <vector>
@@ -19,15 +20,11 @@
#define FUSION_GET_CHAR_TYPE(T) typename T::char_type
#define FUSION_GET_TRAITS_TYPE(T) typename T::traits_type
-#if defined (BOOST_NO_TEMPLATED_STREAMS)
-#define FUSION_STRING_OF_STREAM(Stream) std::string
-#else
#define FUSION_STRING_OF_STREAM(Stream) \
std::basic_string< \
FUSION_GET_CHAR_TYPE(Stream) \
, FUSION_GET_TRAITS_TYPE(Stream) \
>
-#endif
//$$$ these should be part of the public API$$$
//$$$ rename tuple_open, tuple_close and tuple_delimiter to
@@ -154,55 +151,6 @@ namespace boost { namespace fusion
} // detail
-#if defined (BOOST_NO_TEMPLATED_STREAMS)
-
-#define STD_TUPLE_DEFINE_MANIPULATOR(name) \
- namespace detail \
- { \
- struct name##_tag; \
- \
- struct name##_type \
- { \
- typedef std::string string_type; \
- string_type data; \
- name##_type(const string_type& d): data(d) {} \
- }; \
- \
- template <typename Stream> \
- Stream& operator>>(Stream& s, const name##_type& m) \
- { \
- string_ios_manip<name##_tag, Stream>(s).set(m.data); \
- return s; \
- } \
- \
- template <typename Stream> \
- Stream& operator<<(Stream& s, const name##_type& m) \
- { \
- string_ios_manip<name##_tag, Stream>(s).set(m.data); \
- return s; \
- } \
- }
-
-#define STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS(name) \
- inline detail::name##_type \
- name(const std::string& s) \
- { \
- return detail::name##_type(s); \
- } \
- \
- inline detail::name##_type \
- name(const char* s) \
- { \
- return detail::name##_type(std::string(s)); \
- } \
- \
- inline detail::name##_type \
- name(char c) \
- { \
- return detail::name##_type(std::string(1, c)); \
- }
-
-#else // defined(BOOST_NO_TEMPLATED_STREAMS)
#if defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
@@ -299,7 +247,6 @@ namespace boost { namespace fusion
} \
} \
-#endif // defined(BOOST_NO_TEMPLATED_STREAMS)
STD_TUPLE_DEFINE_MANIPULATOR(tuple_open)
STD_TUPLE_DEFINE_MANIPULATOR(tuple_close)
diff --git a/boost/fusion/sequence/io/detail/out.hpp b/boost/fusion/sequence/io/detail/out.hpp
index 52caf00d7d..7da87a53a4 100644
--- a/boost/fusion/sequence/io/detail/out.hpp
+++ b/boost/fusion/sequence/io/detail/out.hpp
@@ -9,6 +9,7 @@
#if !defined(FUSION_OUT_05052005_0121)
#define FUSION_OUT_05052005_0121
+#include <boost/fusion/support/config.hpp>
#include <ostream>
#include <boost/fusion/sequence/io/detail/manip.hpp>
diff --git a/boost/fusion/sequence/io/in.hpp b/boost/fusion/sequence/io/in.hpp
index 73a1fffbff..288c247331 100644
--- a/boost/fusion/sequence/io/in.hpp
+++ b/boost/fusion/sequence/io/in.hpp
@@ -9,6 +9,7 @@
#if !defined(BOOST_IN_05042005_0120)
#define BOOST_IN_05042005_0120
+#include <boost/fusion/support/config.hpp>
#include <istream>
#include <boost/fusion/sequence/io/detail/in.hpp>
#include <boost/fusion/support/is_sequence.hpp>
diff --git a/boost/fusion/sequence/io/out.hpp b/boost/fusion/sequence/io/out.hpp
index 988a39856a..5c4637d57b 100644
--- a/boost/fusion/sequence/io/out.hpp
+++ b/boost/fusion/sequence/io/out.hpp
@@ -9,6 +9,7 @@
#if !defined(BOOST_OUT_05042005_0120)
#define BOOST_OUT_05042005_0120
+#include <boost/fusion/support/config.hpp>
#include <ostream>
#include <boost/fusion/sequence/io/detail/out.hpp>
#include <boost/fusion/support/is_sequence.hpp>
diff --git a/boost/fusion/sequence/sequence_facade.hpp b/boost/fusion/sequence/sequence_facade.hpp
index fd6b095eab..ff578a00c5 100644
--- a/boost/fusion/sequence/sequence_facade.hpp
+++ b/boost/fusion/sequence/sequence_facade.hpp
@@ -7,6 +7,7 @@
#if !defined(FUSION_SEQUENCE_FACADE_09252006_1044)
#define FUSION_SEQUENCE_FACADE_09252006_1044
+#include <boost/fusion/support/config.hpp>
#include <boost/fusion/support/sequence_base.hpp>
#include <boost/mpl/bool.hpp>