diff options
Diffstat (limited to 'boost/spirit/home/classic/iterator/multi_pass.hpp')
-rw-r--r-- | boost/spirit/home/classic/iterator/multi_pass.hpp | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/boost/spirit/home/classic/iterator/multi_pass.hpp b/boost/spirit/home/classic/iterator/multi_pass.hpp index fd9482ef31..260d2933e5 100644 --- a/boost/spirit/home/classic/iterator/multi_pass.hpp +++ b/boost/spirit/home/classic/iterator/multi_pass.hpp @@ -16,7 +16,6 @@ #include <algorithm> // for std::swap #include <exception> // for std::exception #include <boost/limits.hpp> -#include <boost/iterator.hpp> #include <boost/spirit/home/classic/namespace.hpp> #include <boost/spirit/home/classic/core/assert.hpp> // for BOOST_SPIRIT_ASSERT @@ -760,24 +759,19 @@ class inner namespace iterator_ { namespace impl { -// Meta-function to generate a std::iterator<> base class for multi_pass. This -// is used mainly to improve conformance of compilers not supporting PTS -// and thus relying on inheritance to recognize an iterator. -// We are using boost::iterator<> because it offers an automatic workaround -// for broken std::iterator<> implementations. +// Meta-function to generate a std::iterator<>-like base class for multi_pass. template <typename InputPolicyT, typename InputT> struct iterator_base_creator { typedef typename InputPolicyT::BOOST_NESTED_TEMPLATE inner<InputT> input_t; - typedef boost::iterator - < - std::forward_iterator_tag, - typename input_t::value_type, - typename input_t::difference_type, - typename input_t::pointer, - typename input_t::reference - > type; + struct type { + typedef std::forward_iterator_tag iterator_category; + typedef typename input_t::value_type value_type; + typedef typename input_t::difference_type difference_type; + typedef typename input_t::pointer pointer; + typedef typename input_t::reference reference; + }; }; }} |