summaryrefslogtreecommitdiff
path: root/boost/fusion/view/joint_view
diff options
context:
space:
mode:
Diffstat (limited to 'boost/fusion/view/joint_view')
-rw-r--r--boost/fusion/view/joint_view/detail/begin_impl.hpp6
-rw-r--r--boost/fusion/view/joint_view/detail/deref_data_impl.hpp2
-rw-r--r--boost/fusion/view/joint_view/detail/end_impl.hpp2
-rw-r--r--boost/fusion/view/joint_view/detail/next_impl.hpp6
-rw-r--r--boost/fusion/view/joint_view/joint_view.hpp8
-rw-r--r--boost/fusion/view/joint_view/joint_view_iterator.hpp11
6 files changed, 22 insertions, 13 deletions
diff --git a/boost/fusion/view/joint_view/detail/begin_impl.hpp b/boost/fusion/view/joint_view/detail/begin_impl.hpp
index f58d129042..b7a961a7f2 100644
--- a/boost/fusion/view/joint_view/detail/begin_impl.hpp
+++ b/boost/fusion/view/joint_view/detail/begin_impl.hpp
@@ -43,21 +43,21 @@ namespace boost { namespace fusion
>::type
type;
- BOOST_FUSION_GPU_ENABLED
+ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
static type
call(Sequence& s, mpl::true_)
{
return s.concat();
}
- BOOST_FUSION_GPU_ENABLED
+ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
static type
call(Sequence& s, mpl::false_)
{
return type(s.first(), s.concat());
}
- BOOST_FUSION_GPU_ENABLED
+ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
static type
call(Sequence& s)
{
diff --git a/boost/fusion/view/joint_view/detail/deref_data_impl.hpp b/boost/fusion/view/joint_view/detail/deref_data_impl.hpp
index 02780d99d9..2d5f8317e1 100644
--- a/boost/fusion/view/joint_view/detail/deref_data_impl.hpp
+++ b/boost/fusion/view/joint_view/detail/deref_data_impl.hpp
@@ -26,7 +26,7 @@ namespace boost { namespace fusion { namespace extension
result_of::deref_data<typename It::first_type>::type
type;
- BOOST_FUSION_GPU_ENABLED
+ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
static type
call(It const& it)
{
diff --git a/boost/fusion/view/joint_view/detail/end_impl.hpp b/boost/fusion/view/joint_view/detail/end_impl.hpp
index b9e0113815..0b4b9b0abd 100644
--- a/boost/fusion/view/joint_view/detail/end_impl.hpp
+++ b/boost/fusion/view/joint_view/detail/end_impl.hpp
@@ -28,7 +28,7 @@ namespace boost { namespace fusion
{
typedef typename Sequence::concat_last_type type;
- BOOST_FUSION_GPU_ENABLED
+ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
static type
call(Sequence& s)
{
diff --git a/boost/fusion/view/joint_view/detail/next_impl.hpp b/boost/fusion/view/joint_view/detail/next_impl.hpp
index a3c066d1f3..a7d18757da 100644
--- a/boost/fusion/view/joint_view/detail/next_impl.hpp
+++ b/boost/fusion/view/joint_view/detail/next_impl.hpp
@@ -45,21 +45,21 @@ namespace boost { namespace fusion
>::type
type;
- BOOST_FUSION_GPU_ENABLED
+ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
static type
call(Iterator const& i, mpl::true_)
{
return i.concat;
}
- BOOST_FUSION_GPU_ENABLED
+ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
static type
call(Iterator const& i, mpl::false_)
{
return type(fusion::next(i.first), i.concat);
}
- BOOST_FUSION_GPU_ENABLED
+ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
static type
call(Iterator const& i)
{
diff --git a/boost/fusion/view/joint_view/joint_view.hpp b/boost/fusion/view/joint_view/joint_view.hpp
index 3ad3191420..676cbc54dd 100644
--- a/boost/fusion/view/joint_view/joint_view.hpp
+++ b/boost/fusion/view/joint_view/joint_view.hpp
@@ -56,17 +56,17 @@ namespace boost { namespace fusion
result_of::size<Sequence1>::value + result_of::size<Sequence2>::value>
size;
- BOOST_FUSION_GPU_ENABLED
+ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
joint_view(Sequence1& in_seq1, Sequence2& in_seq2)
: seq1(in_seq1)
, seq2(in_seq2)
{}
- BOOST_FUSION_GPU_ENABLED
+ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
first_type first() const { return fusion::begin(seq1); }
- BOOST_FUSION_GPU_ENABLED
+ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
concat_type concat() const { return fusion::begin(seq2); }
- BOOST_FUSION_GPU_ENABLED
+ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
concat_last_type concat_last() const { return fusion::end(seq2); }
private:
diff --git a/boost/fusion/view/joint_view/joint_view_iterator.hpp b/boost/fusion/view/joint_view/joint_view_iterator.hpp
index 9858474078..ddd1341ee1 100644
--- a/boost/fusion/view/joint_view/joint_view_iterator.hpp
+++ b/boost/fusion/view/joint_view/joint_view_iterator.hpp
@@ -41,7 +41,7 @@ namespace boost { namespace fusion
typedef Category category;
BOOST_STATIC_ASSERT((!result_of::equal_to<first_type, last_type>::value));
- BOOST_FUSION_GPU_ENABLED
+ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
joint_view_iterator(First const& in_first, Concat const& in_concat)
: first(first_converter::call(in_first))
, concat(concat_converter::call(in_concat))
@@ -56,6 +56,15 @@ namespace boost { namespace fusion
};
}}
+#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408
+namespace std
+{
+ template <typename Category, typename First, typename Last, typename Concat>
+ struct iterator_traits< ::boost::fusion::joint_view_iterator<Category, First, Last, Concat> >
+ { };
+}
+#endif
+
#endif