diff options
author | DongHun Kwak <dh0128.kwak@samsung.com> | 2016-03-21 15:45:20 +0900 |
---|---|---|
committer | DongHun Kwak <dh0128.kwak@samsung.com> | 2016-03-21 15:46:37 +0900 |
commit | 733b5d5ae2c5d625211e2985ac25728ac3f54883 (patch) | |
tree | a5b214744b256f07e1dc2bd7273035a7808c659f /boost/fusion/view/repetitive_view | |
parent | 08c1e93fa36a49f49325a07fe91ff92c964c2b6c (diff) | |
download | boost-upstream/1.58.0.tar.gz boost-upstream/1.58.0.tar.bz2 boost-upstream/1.58.0.zip |
Imported Upstream version 1.58.0upstream/1.58.0
Change-Id: If0072143aa26874812e0db6872e1efb10a3e5e94
Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
Diffstat (limited to 'boost/fusion/view/repetitive_view')
6 files changed, 21 insertions, 12 deletions
diff --git a/boost/fusion/view/repetitive_view/detail/begin_impl.hpp b/boost/fusion/view/repetitive_view/detail/begin_impl.hpp index 3da6b21dbf..9a27156c85 100644 --- a/boost/fusion/view/repetitive_view/detail/begin_impl.hpp +++ b/boost/fusion/view/repetitive_view/detail/begin_impl.hpp @@ -35,7 +35,7 @@ namespace boost { namespace fusion typedef repetitive_view_iterator<sequence_type, typename result_of::begin<sequence_type>::type > type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(View const& v) { return type(v.seq); diff --git a/boost/fusion/view/repetitive_view/detail/deref_impl.hpp b/boost/fusion/view/repetitive_view/detail/deref_impl.hpp index c54ff38ef8..c96ef5eba5 100644 --- a/boost/fusion/view/repetitive_view/detail/deref_impl.hpp +++ b/boost/fusion/view/repetitive_view/detail/deref_impl.hpp @@ -30,7 +30,7 @@ namespace boost { namespace fusion result_of::deref<typename Iterator::pos_type>::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return *i.pos; diff --git a/boost/fusion/view/repetitive_view/detail/end_impl.hpp b/boost/fusion/view/repetitive_view/detail/end_impl.hpp index ca1c270f95..af1fa6ee44 100644 --- a/boost/fusion/view/repetitive_view/detail/end_impl.hpp +++ b/boost/fusion/view/repetitive_view/detail/end_impl.hpp @@ -35,7 +35,7 @@ namespace boost { namespace fusion typedef repetitive_view_iterator<sequence_type, typename result_of::end<sequence_type>::type > type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(View const& v) { return type(v.seq,end(v.seq)); diff --git a/boost/fusion/view/repetitive_view/detail/next_impl.hpp b/boost/fusion/view/repetitive_view/detail/next_impl.hpp index acefd513c0..fab7540814 100644 --- a/boost/fusion/view/repetitive_view/detail/next_impl.hpp +++ b/boost/fusion/view/repetitive_view/detail/next_impl.hpp @@ -42,7 +42,7 @@ namespace boost { namespace fusion > type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return type(i.seq, next(i.pos)); @@ -59,7 +59,7 @@ namespace boost { namespace fusion > type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return type(i.seq); @@ -80,7 +80,7 @@ namespace boost { namespace fusion typedef Iterator type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return type(i); diff --git a/boost/fusion/view/repetitive_view/repetitive_view.hpp b/boost/fusion/view/repetitive_view/repetitive_view.hpp index ab0a3b181f..32718e047e 100644 --- a/boost/fusion/view/repetitive_view/repetitive_view.hpp +++ b/boost/fusion/view/repetitive_view/repetitive_view.hpp @@ -38,7 +38,7 @@ namespace boost { namespace fusion mpl::if_<traits::is_view<Sequence>, Sequence, sequence_type&>::type stored_seq_type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED repetitive_view(Sequence& in_seq) : seq(in_seq) {} diff --git a/boost/fusion/view/repetitive_view/repetitive_view_iterator.hpp b/boost/fusion/view/repetitive_view/repetitive_view_iterator.hpp index 7d5d139d66..74cc723e41 100644 --- a/boost/fusion/view/repetitive_view/repetitive_view_iterator.hpp +++ b/boost/fusion/view/repetitive_view/repetitive_view_iterator.hpp @@ -5,8 +5,8 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#if !defined(BOOST_FUSION_REPETITIVE_VIEW_ITERATOR_HPP_INCLUDED) -#define BOOST_FUSION_REPETITIVE_VIEW_HPP_ITERATOR_INCLUDED +#ifndef BOOST_FUSION_REPETITIVE_VIEW_ITERATOR_HPP_INCLUDED +#define BOOST_FUSION_REPETITIVE_VIEW_ITERATOR_HPP_INCLUDED #include <boost/fusion/support/config.hpp> #include <boost/fusion/support/iterator_base.hpp> @@ -36,16 +36,16 @@ namespace boost { namespace fusion typedef typename convert_iterator<typename result_of::end<Sequence>::type>::type end_type; typedef single_pass_traversal_tag category; - BOOST_FUSION_GPU_ENABLED explicit repetitive_view_iterator(Sequence& in_seq) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit repetitive_view_iterator(Sequence& in_seq) : seq(in_seq), pos(begin(in_seq)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED repetitive_view_iterator(Sequence& in_seq, pos_type const& in_pos) : seq(in_seq), pos(in_pos) {} Sequence& seq; pos_type pos; - private: // silence MSVC warning C4512: assignment operator could not be generated @@ -53,5 +53,14 @@ namespace boost { namespace fusion }; }} +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template <typename Sequence, typename Pos> + struct iterator_traits< ::boost::fusion::repetitive_view_iterator<Sequence, Pos> > + { }; +} +#endif + #endif |