diff options
Diffstat (limited to 'boost/fusion/view/repetitive_view/repetitive_view_iterator.hpp')
-rw-r--r-- | boost/fusion/view/repetitive_view/repetitive_view_iterator.hpp | 19 |
1 files changed, 14 insertions, 5 deletions
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 |