repetitive_view_iterator.hpp

来自「Boost provides free peer-reviewed portab」· HPP 代码 · 共 52 行

HPP
52
字号
/*=============================================================================    Copyright (c) 2007 Tobias Schwinger    Distributed under the Boost Software License, Version 1.0. (See accompanying    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#include <boost/fusion/support/iterator_base.hpp>#include <boost/fusion/support/category_of.hpp>#include <boost/fusion/iterator/mpl/convert_iterator.hpp>#include <boost/fusion/adapted/mpl/mpl_iterator.hpp>#include <boost/fusion/sequence/intrinsic/begin.hpp>#include <boost/fusion/sequence/intrinsic/end.hpp>#include <boost/fusion/view/repetitive_view/detail/deref_impl.hpp>#include <boost/fusion/view/repetitive_view/detail/next_impl.hpp>#include <boost/fusion/view/repetitive_view/detail/value_of_impl.hpp>namespace boost { namespace fusion{    struct repetitive_view_iterator_tag;    template<typename Sequence, typename Pos =        typename result_of::begin<Sequence>::type>    struct repetitive_view_iterator        : iterator_base< repetitive_view_iterator<Sequence,Pos> >    {        typedef repetitive_view_iterator_tag fusion_tag;        typedef Sequence sequence_type;        typedef typename convert_iterator<Pos>::type pos_type;        typedef typename convert_iterator<typename result_of::begin<Sequence>::type>::type first_type;        typedef typename convert_iterator<typename result_of::end<Sequence>::type>::type end_type;        typedef single_pass_traversal_tag category;        explicit repetitive_view_iterator(Sequence& seq)            : seq(seq), pos(begin(seq)) {}        repetitive_view_iterator(Sequence& seq, pos_type const& pos)            : seq(seq), pos(pos) {}        Sequence& seq;        pos_type pos;    };}}#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?