diff options
Diffstat (limited to 'boost/spirit/home/qi/operator/sequential_or.hpp')
-rw-r--r-- | boost/spirit/home/qi/operator/sequential_or.hpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/boost/spirit/home/qi/operator/sequential_or.hpp b/boost/spirit/home/qi/operator/sequential_or.hpp index a4c9c0ceca..96ac64e5d2 100644 --- a/boost/spirit/home/qi/operator/sequential_or.hpp +++ b/boost/spirit/home/qi/operator/sequential_or.hpp @@ -15,7 +15,7 @@ #include <boost/spirit/home/qi/detail/pass_function.hpp> #include <boost/spirit/home/qi/detail/attributes.hpp> #include <boost/spirit/home/support/detail/what_function.hpp> -#include <boost/spirit/home/support/algorithm/any_if_ns.hpp> +#include <boost/spirit/home/support/algorithm/any_if_ns_so.hpp> #include <boost/spirit/home/support/handles_container.hpp> #include <boost/fusion/include/as_vector.hpp> #include <boost/fusion/include/for_each.hpp> @@ -75,9 +75,10 @@ namespace boost { namespace spirit { namespace qi typename traits::wrap_if_not_tuple<Attribute>::type attr_local(attr_); // return true if *any* of the parsers succeed - // (we use the non-short-circuiting version: any_if_ns - // to force all elements to be tested) - return spirit::any_if_ns(elements, attr_local, f, predicate()); + // (we use the non-short-circuiting and strict order version: + // any_if_ns_so to force all the elements to be tested and + // in the defined order: first is first, last is last) + return spirit::any_if_ns_so(elements, attr_local, f, predicate()); } template <typename Context> |