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