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 80b86f38e4..a4c9c0ceca 100644 --- a/boost/spirit/home/qi/operator/sequential_or.hpp +++ b/boost/spirit/home/qi/operator/sequential_or.hpp @@ -16,6 +16,7 @@ #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/handles_container.hpp> #include <boost/fusion/include/as_vector.hpp> #include <boost/fusion/include/for_each.hpp> @@ -57,8 +58,8 @@ namespace boost { namespace spirit { namespace qi type; }; - sequential_or(Elements const& elements) - : elements(elements) {} + sequential_or(Elements const& elements_) + : elements(elements_) {} template <typename Iterator, typename Context , typename Skipper, typename Attribute> @@ -71,12 +72,12 @@ namespace boost { namespace spirit { namespace qi f(first, last, context, skipper); // wrap the attribute in a tuple if it is not a tuple - typename traits::wrap_if_not_tuple<Attribute>::type attr(attr_); + 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, f, predicate()); + return spirit::any_if_ns(elements, attr_local, f, predicate()); } template <typename Context> |