summaryrefslogtreecommitdiff
path: root/boost/spirit/home/qi/parse.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/spirit/home/qi/parse.hpp')
-rw-r--r--boost/spirit/home/qi/parse.hpp46
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,