update boost on linux
This commit is contained in:
@@ -14,11 +14,11 @@
|
||||
|
||||
#include <boost/spirit/home/qi/operator/sequence_base.hpp>
|
||||
#include <boost/spirit/home/qi/detail/expect_function.hpp>
|
||||
#include <boost/spirit/home/qi/detail/expectation_failure.hpp>
|
||||
#include <boost/spirit/home/qi/meta_compiler.hpp>
|
||||
#include <boost/spirit/home/support/has_semantic_action.hpp>
|
||||
#include <boost/spirit/home/support/handles_container.hpp>
|
||||
#include <boost/spirit/home/support/info.hpp>
|
||||
#include <stdexcept>
|
||||
|
||||
namespace boost { namespace spirit
|
||||
{
|
||||
@@ -36,27 +36,13 @@ namespace boost { namespace spirit
|
||||
|
||||
namespace boost { namespace spirit { namespace qi
|
||||
{
|
||||
template <typename Iterator>
|
||||
struct expectation_failure : std::runtime_error
|
||||
{
|
||||
expectation_failure(Iterator first_, Iterator last_, info const& what)
|
||||
: std::runtime_error("boost::spirit::qi::expectation_failure")
|
||||
, first(first_), last(last_), what_(what)
|
||||
{}
|
||||
~expectation_failure() throw() {}
|
||||
|
||||
Iterator first;
|
||||
Iterator last;
|
||||
info what_;
|
||||
};
|
||||
|
||||
template <typename Elements>
|
||||
struct expect : sequence_base<expect<Elements>, Elements>
|
||||
struct expect_operator : sequence_base<expect_operator<Elements>, Elements>
|
||||
{
|
||||
friend struct sequence_base<expect<Elements>, Elements>;
|
||||
friend struct sequence_base<expect_operator<Elements>, Elements>;
|
||||
|
||||
expect(Elements const& elements)
|
||||
: sequence_base<expect<Elements>, Elements>(elements) {}
|
||||
expect_operator(Elements const& elements)
|
||||
: sequence_base<expect_operator<Elements>, Elements>(elements) {}
|
||||
|
||||
private:
|
||||
|
||||
@@ -73,7 +59,7 @@ namespace boost { namespace spirit { namespace qi
|
||||
(first, last, context, skipper);
|
||||
}
|
||||
|
||||
std::string id() const { return "expect"; }
|
||||
std::string id() const { return "expect_operator"; }
|
||||
};
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
@@ -81,7 +67,7 @@ namespace boost { namespace spirit { namespace qi
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
template <typename Elements, typename Modifiers>
|
||||
struct make_composite<proto::tag::greater, Elements, Modifiers>
|
||||
: make_nary_composite<Elements, expect>
|
||||
: make_nary_composite<Elements, expect_operator>
|
||||
{};
|
||||
}}}
|
||||
|
||||
@@ -89,13 +75,13 @@ namespace boost { namespace spirit { namespace traits
|
||||
{
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
template <typename Elements>
|
||||
struct has_semantic_action<qi::expect<Elements> >
|
||||
struct has_semantic_action<qi::expect_operator<Elements> >
|
||||
: nary_has_semantic_action<Elements> {};
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
template <typename Elements, typename Attribute, typename Context
|
||||
, typename Iterator>
|
||||
struct handles_container<qi::expect<Elements>, Attribute, Context
|
||||
struct handles_container<qi::expect_operator<Elements>, Attribute, Context
|
||||
, Iterator>
|
||||
: mpl::true_ {};
|
||||
}}}
|
||||
|
||||
@@ -21,7 +21,6 @@
|
||||
#include <boost/spirit/home/support/info.hpp>
|
||||
#include <boost/fusion/include/size.hpp>
|
||||
#include <boost/optional.hpp>
|
||||
#include <boost/foreach.hpp>
|
||||
#include <boost/array.hpp>
|
||||
|
||||
namespace boost { namespace spirit
|
||||
@@ -76,10 +75,7 @@ namespace boost { namespace spirit { namespace qi
|
||||
f(first, last, context, skipper);
|
||||
|
||||
boost::array<bool, fusion::result_of::size<Elements>::value> flags;
|
||||
BOOST_FOREACH(bool& taken, flags)
|
||||
{
|
||||
taken = false;
|
||||
}
|
||||
flags.fill(false);
|
||||
|
||||
// wrap the attribute in a tuple if it is not a tuple
|
||||
typename traits::wrap_if_not_tuple<Attribute>::type attr_local(attr_);
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user