/usr/include/boost/fusion/iterator
NameSizeModeActions
detail/-0755rm
mpl/-0755rm
advance.hpp30370644editdlrm
basic_iterator.hpp42230644editdlrm
deref.hpp21980644editdlrm
deref_data.hpp13640644editdlrm
distance.hpp25850644editdlrm
equal_to.hpp33300644editdlrm
iterator_adapter.hpp45700644editdlrm
iterator_facade.hpp21740644editdlrm
key_of.hpp11190644editdlrm
mpl.hpp6180644editdlrm
next.hpp18710644editdlrm
prior.hpp18840644editdlrm
segmented_iterator.hpp7450644editdlrm
value_of.hpp17330644editdlrm
value_of_data.hpp11680644editdlrm
Edit: /usr/include/boost/fusion/iterator/basic_iterator.hpp (4223B)
/*============================================================================= Copyright (c) 2009 Christopher Schmidt 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) ==============================================================================*/ #ifndef BOOST_FUSION_ITERATOR_BASIC_ITERATOR_HPP #define BOOST_FUSION_ITERATOR_BASIC_ITERATOR_HPP #include #include #include #include #include #include #include #include namespace boost { namespace fusion { namespace extension { template struct value_of_impl; template struct deref_impl; template struct value_of_data_impl; template struct key_of_impl; template struct deref_data_impl; } template struct basic_iterator : iterator_facade, Category> { typedef mpl::int_ index; typedef Seq seq_type; template struct value_of : extension::value_of_impl::template apply {}; template struct deref : extension::deref_impl::template apply {}; template struct value_of_data : extension::value_of_data_impl::template apply {}; template struct key_of : extension::key_of_impl::template apply {}; template struct deref_data : extension::deref_data_impl::template apply {}; template struct advance { typedef basic_iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(It const& it) { return type(*it.seq,0); } }; template struct next : advance > {}; template struct prior : advance > {}; template struct distance { typedef mpl::minus type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(It1 const&, It2 const&) { return type(); } }; template struct equal_to : mpl::and_< is_same< typename remove_const::type , typename remove_const::type > , mpl::equal_to > {}; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED basic_iterator(basic_iterator const& it) : seq(it.seq) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED basic_iterator(Seq& in_seq, int) : seq(&in_seq) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED basic_iterator& operator=(basic_iterator const& it) { seq=it.seq; return *this; } Seq* seq; }; }} #ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 namespace std { template struct iterator_traits< ::boost::fusion::basic_iterator > { }; } #endif #endif