diff options
Diffstat (limited to 'boost/spirit/home/qi/parse.hpp')
-rw-r--r-- | boost/spirit/home/qi/parse.hpp | 46 |
1 files changed, 25 insertions, 21 deletions
diff --git a/boost/spirit/home/qi/parse.hpp b/boost/spirit/home/qi/parse.hpp index 261df759cc..6f9406c51c 100644 --- a/boost/spirit/home/qi/parse.hpp +++ b/boost/spirit/home/qi/parse.hpp @@ -15,7 +15,7 @@ #include <boost/spirit/home/support/context.hpp> #include <boost/spirit/home/support/nonterminal/locals.hpp> #include <boost/spirit/home/qi/detail/parse.hpp> -#include <boost/concept_check.hpp> +#include <boost/iterator/iterator_concepts.hpp> namespace boost { namespace spirit { namespace qi { @@ -27,11 +27,12 @@ namespace boost { namespace spirit { namespace qi , Iterator last , Expr const& expr) { - // Make sure the iterator is at least a forward_iterator. If you got a - // compilation error here, then you are using an input_iterator while - // calling this function, you need to supply at least a - // forward_iterator instead. - BOOST_CONCEPT_ASSERT((ForwardIterator<Iterator>)); + // Make sure the iterator is at least a readable forward traversal iterator. + // If you got a compilation error here, then you are using a weaker iterator + // while calling this function, you need to supply a readable forward traversal + // iterator instead. + BOOST_CONCEPT_ASSERT((boost_concepts::ReadableIteratorConcept<Iterator>)); + BOOST_CONCEPT_ASSERT((boost_concepts::ForwardTraversalConcept<Iterator>)); return detail::parse_impl<Expr>::call(first, last, expr); } @@ -71,11 +72,12 @@ namespace boost { namespace spirit { namespace qi , Expr const& expr , Attr& attr) { - // Make sure the iterator is at least a forward_iterator. If you got a - // compilation error here, then you are using an input_iterator while - // calling this function, you need to supply at least a - // forward_iterator instead. - BOOST_CONCEPT_ASSERT((ForwardIterator<Iterator>)); + // Make sure the iterator is at least a readable forward traversal iterator. + // If you got a compilation error here, then you are using a weaker iterator + // while calling this function, you need to supply a readable forward traversal + // iterator instead. + BOOST_CONCEPT_ASSERT((boost_concepts::ReadableIteratorConcept<Iterator>)); + BOOST_CONCEPT_ASSERT((boost_concepts::ForwardTraversalConcept<Iterator>)); // Report invalid expression error as early as possible. // If you got an error_invalid_expression error message here, @@ -108,11 +110,12 @@ namespace boost { namespace spirit { namespace qi , Skipper const& skipper , BOOST_SCOPED_ENUM(skip_flag) post_skip = skip_flag::postskip) { - // Make sure the iterator is at least a forward_iterator. If you got a - // compilation error here, then you are using an input_iterator while - // calling this function, you need to supply at least a - // forward_iterator instead. - BOOST_CONCEPT_ASSERT((ForwardIterator<Iterator>)); + // Make sure the iterator is at least a readable forward traversal iterator. + // If you got a compilation error here, then you are using a weaker iterator + // while calling this function, you need to supply a readable forward traversal + // iterator instead. + BOOST_CONCEPT_ASSERT((boost_concepts::ReadableIteratorConcept<Iterator>)); + BOOST_CONCEPT_ASSERT((boost_concepts::ForwardTraversalConcept<Iterator>)); return detail::phrase_parse_impl<Expr>::call( first, last, expr, skipper, post_skip); @@ -142,11 +145,12 @@ namespace boost { namespace spirit { namespace qi , BOOST_SCOPED_ENUM(skip_flag) post_skip , Attr& attr) { - // Make sure the iterator is at least a forward_iterator. If you got a - // compilation error here, then you are using an input_iterator while - // calling this function, you need to supply at least a - // forward_iterator instead. - BOOST_CONCEPT_ASSERT((ForwardIterator<Iterator>)); + // Make sure the iterator is at least a readable forward traversal iterator. + // If you got a compilation error here, then you are using a weaker iterator + // while calling this function, you need to supply a readable forward traversal + // iterator instead. + BOOST_CONCEPT_ASSERT((boost_concepts::ReadableIteratorConcept<Iterator>)); + BOOST_CONCEPT_ASSERT((boost_concepts::ForwardTraversalConcept<Iterator>)); // Report invalid expression error as early as possible. // If you got an error_invalid_expression error message here, |