summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '3rdParty/Boost/src/boost/spirit/home/lex')
-rw-r--r--3rdParty/Boost/src/boost/spirit/home/lex/argument.hpp87
-rw-r--r--3rdParty/Boost/src/boost/spirit/home/lex/argument_phoenix.hpp3
-rw-r--r--3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexer.hpp2
-rw-r--r--3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexertl/functor_data.hpp2
-rw-r--r--3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexertl/iterator.hpp30
-rw-r--r--3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexertl/token.hpp6
-rw-r--r--3rdParty/Boost/src/boost/spirit/home/lex/lexer/support_functions.hpp6
-rw-r--r--3rdParty/Boost/src/boost/spirit/home/lex/lexer/support_functions_expression.hpp33
8 files changed, 35 insertions, 134 deletions
diff --git a/3rdParty/Boost/src/boost/spirit/home/lex/argument.hpp b/3rdParty/Boost/src/boost/spirit/home/lex/argument.hpp
index edfee0b..fbac3c1 100644
--- a/3rdParty/Boost/src/boost/spirit/home/lex/argument.hpp
+++ b/3rdParty/Boost/src/boost/spirit/home/lex/argument.hpp
@@ -110,12 +110,6 @@ namespace boost { namespace spirit { namespace lex
state_setter(Actor const& actor)
: actor_(actor) {}
- // see explanation for this constructor at the end of this file
-#ifndef BOOST_SPIRIT_USE_PHOENIX_V3
- state_setter(phoenix::actor<state_getter>, Actor const& actor)
- : actor_(actor) {}
-#endif
-
Actor actor_;
};
@@ -190,12 +184,6 @@ namespace boost { namespace spirit { namespace lex
value_setter(Actor const& actor)
: actor_(actor) {}
-#ifndef BOOST_SPIRIT_USE_PHOENIX_V3
- // see explanation for this constructor at the end of this file
- value_setter(phoenix::actor<value_getter>, Actor const& actor)
- : actor_(actor) {}
-#endif
-
Actor actor_;
};
@@ -281,81 +269,6 @@ namespace boost { namespace spirit { namespace lex
#endif
}}}
-///////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_SPIRIT_USE_PHOENIX_V3
-namespace boost { namespace phoenix
-{
- ///////////////////////////////////////////////////////////////////////////
- // The specialization of as_actor_base<> below is needed to convert all
- // occurrences of _state in places where it's used as a rvalue into the
- // proper Phoenix actor (spirit::state_getter) accessing the lexer state.
- template<>
- struct as_actor_base<actor<spirit::lex::state_context> >
- {
- typedef spirit::lex::state_getter type;
-
- static spirit::lex::state_getter
- convert(actor<spirit::lex::state_context>)
- {
- return spirit::lex::state_getter();
- }
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // The specialization of as_composite<> below is needed to convert all
- // assignments to _state (places where it's used as a lvalue) into the
- // proper Phoenix actor (spirit::state_setter) allowing to change the
- // lexer state.
- template <typename RHS>
- struct as_composite<assign_eval, actor<spirit::lex::state_context>, RHS>
- {
- // For an assignment to _state (a spirit::state_context actor), this
- // specialization makes Phoenix's compose() function construct a
- // spirit::state_setter actor from 1. the LHS, a spirit::state_getter
- // actor (due to the specialization of as_actor_base<> above),
- // and 2. the RHS actor.
- // This is why spirit::state_setter needs a constructor which takes
- // a dummy spirit::state_getter as its first argument in addition
- // to its real, second argument (the RHS actor).
- typedef spirit::lex::state_setter<typename as_actor<RHS>::type> type;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // The specialization of as_actor_base<> below is needed to convert all
- // occurrences of _val in places where it's used as a rvalue into the
- // proper Phoenix actor (spirit::value_getter) accessing the token value.
- template<>
- struct as_actor_base<actor<spirit::lex::value_context> >
- {
- typedef spirit::lex::value_getter type;
-
- static spirit::lex::value_getter
- convert(actor<spirit::lex::value_context>)
- {
- return spirit::lex::value_getter();
- }
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // The specialization of as_composite<> below is needed to convert all
- // assignments to _val (places where it's used as a lvalue) into the
- // proper Phoenix actor (spirit::value_setter) allowing to change the
- // token value.
- template <typename RHS>
- struct as_composite<assign_eval, actor<spirit::lex::value_context>, RHS>
- {
- // For an assignment to _val (a spirit::value_context actor), this
- // specialization makes Phoenix's compose() function construct a
- // spirit::value_setter actor from 1. the LHS, a spirit::value_getter
- // actor (due to the specialization of as_actor_base<> above),
- // and 2. the RHS actor.
- // This is why spirit::value_setter needs a constructor which takes
- // a dummy spirit::value_getter as its first argument in addition
- // to its real, second argument (the RHS actor).
- typedef spirit::lex::value_setter<typename as_actor<RHS>::type> type;
- };
-}}
-#endif
#undef SPIRIT_DECLARE_ARG
#endif
diff --git a/3rdParty/Boost/src/boost/spirit/home/lex/argument_phoenix.hpp b/3rdParty/Boost/src/boost/spirit/home/lex/argument_phoenix.hpp
index da24503..7989b01 100644
--- a/3rdParty/Boost/src/boost/spirit/home/lex/argument_phoenix.hpp
+++ b/3rdParty/Boost/src/boost/spirit/home/lex/argument_phoenix.hpp
@@ -82,7 +82,6 @@ namespace boost { namespace spirit { namespace lex
}}}
///////////////////////////////////////////////////////////////////////////////
-#ifdef BOOST_SPIRIT_USE_PHOENIX_V3
BOOST_PHOENIX_DEFINE_EXPRESSION(
(boost)(spirit)(lex)(value_setter)
@@ -246,6 +245,4 @@ namespace boost { namespace phoenix
{};
}}
-#endif // BOOST_SPIRIT_USE_PHOENIX_V3
-
#endif
diff --git a/3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexer.hpp b/3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexer.hpp
index 93412ce..e733533 100644
--- a/3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexer.hpp
+++ b/3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexer.hpp
@@ -285,7 +285,7 @@ namespace boost { namespace spirit { namespace lex
lexer_def_& operator= (lexer_def_ const&);
};
-#if defined(BOOST_NO_RVALUE_REFERENCES)
+#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
// allow to assign a token definition expression
template <typename LexerDef, typename Expr>
inline lexer_def_<LexerDef>&
diff --git a/3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexertl/functor_data.hpp b/3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexertl/functor_data.hpp
index 207b374..dfad49b 100644
--- a/3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexertl/functor_data.hpp
+++ b/3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexertl/functor_data.hpp
@@ -300,7 +300,7 @@ namespace boost { namespace spirit { namespace lex { namespace lexertl
data (IterData const& data_, Iterator& first, Iterator const& last)
: base_type(data_, first, last)
, actions_(data_.actions_), hold_()
- , value_(iterator_range<Iterator>(first, last))
+ , value_(iterator_range<Iterator>(last, last))
, has_value_(false), has_hold_(false) {}
// invoke attached semantic actions, if defined
diff --git a/3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexertl/iterator.hpp b/3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexertl/iterator.hpp
index f2793ba..1b05720 100644
--- a/3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexertl/iterator.hpp
+++ b/3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexertl/iterator.hpp
@@ -10,6 +10,7 @@
#pragma once
#endif
+#include <boost/spirit/home/support/multi_pass_wrapper.hpp>
#if defined(BOOST_SPIRIT_DEBUG)
#include <boost/spirit/home/support/iterators/detail/buf_id_check_policy.hpp>
#else
@@ -115,7 +116,34 @@ namespace boost { namespace spirit { namespace lex { namespace lexertl
: 0;
}
};
+}}
-}}}}
+namespace traits
+{
+ template <typename Functor>
+ struct is_multi_pass<spirit::lex::lexertl::iterator<Functor> >
+ : mpl::true_ {};
+
+ template <typename Functor>
+ void clear_queue(spirit::lex::lexertl::iterator<Functor> & mp
+ , BOOST_SCOPED_ENUM(traits::clear_mode) mode)
+ {
+ mp.clear_queue(mode);
+ }
+
+ template <typename Functor>
+ void inhibit_clear_queue(spirit::lex::lexertl::iterator<Functor>& mp, bool flag)
+ {
+ mp.inhibit_clear_queue(flag);
+ }
+
+ template <typename Functor>
+ bool inhibit_clear_queue(spirit::lex::lexertl::iterator<Functor>& mp)
+ {
+ return mp.inhibit_clear_queue();
+ }
+}
+
+}}
#endif
diff --git a/3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexertl/token.hpp b/3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexertl/token.hpp
index 90961af..9f4bdb3 100644
--- a/3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexertl/token.hpp
+++ b/3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexertl/token.hpp
@@ -35,9 +35,7 @@
#include <boost/mpl/or.hpp>
#include <boost/type_traits/is_same.hpp>
#include <boost/range/iterator_range.hpp>
-#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
#include <boost/static_assert.hpp>
-#endif
#if defined(BOOST_SPIRIT_DEBUG)
#include <iosfwd>
@@ -330,14 +328,12 @@ namespace boost { namespace spirit { namespace lex { namespace lexertl
struct token : token<Iterator, lex::omit, HasState, Idtype>
{
private: // precondition assertions
-#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
BOOST_STATIC_ASSERT((mpl::is_sequence<AttributeTypes>::value ||
is_same<AttributeTypes, lex::omit>::value));
-#endif
typedef token<Iterator, lex::omit, HasState, Idtype> base_type;
protected:
- // If no additional token value types are given, the the token will
+ // If no additional token value types are given, the token will
// hold the plain pair of iterators pointing to the matched range
// in the underlying input sequence. Otherwise the token value is
// stored as a variant and will again hold the pair of iterators but
diff --git a/3rdParty/Boost/src/boost/spirit/home/lex/lexer/support_functions.hpp b/3rdParty/Boost/src/boost/spirit/home/lex/lexer/support_functions.hpp
index f3987c6..8467560 100644
--- a/3rdParty/Boost/src/boost/spirit/home/lex/lexer/support_functions.hpp
+++ b/3rdParty/Boost/src/boost/spirit/home/lex/lexer/support_functions.hpp
@@ -47,11 +47,11 @@ namespace boost { namespace spirit { namespace lex
template <typename Env>
struct result
{
- typedef typename
- remove_const<
+ typedef typename remove_reference<
+ typename remove_const<
typename mpl::at_c<typename Env::args_type, 4>::type
>::type
- context_type;
+ >::type context_type;
typedef typename context_type::base_iterator_type type;
};
diff --git a/3rdParty/Boost/src/boost/spirit/home/lex/lexer/support_functions_expression.hpp b/3rdParty/Boost/src/boost/spirit/home/lex/lexer/support_functions_expression.hpp
index 613a4a4..3c7572d 100644
--- a/3rdParty/Boost/src/boost/spirit/home/lex/lexer/support_functions_expression.hpp
+++ b/3rdParty/Boost/src/boost/spirit/home/lex/lexer/support_functions_expression.hpp
@@ -21,37 +21,6 @@ namespace boost { namespace spirit { namespace lex
}}}
///////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_SPIRIT_USE_PHOENIX_V3
-
-namespace boost { namespace spirit { namespace lex
-{
- namespace expression
- {
- template <typename Eval>
- struct less
- {
- typedef phoenix::actor<lex::less_type<Eval> > type;
-
- static type make(Eval const & eval)
- {
- return lex::less_type<Eval>(eval);
- }
- };
-
- template <typename IdType, typename State>
- struct lookahead
- {
- typedef phoenix::actor<lex::lookahead_type<IdType, State> > type;
-
- static type make(IdType const & id_type, State const & state)
- {
- return lex::lookahead_type<IdType, State>(id_type, state);
- }
- };
- }
-}}}
-
-#else // BOOST_SPIRIT_USE_PHOENIX_V3
BOOST_PHOENIX_DEFINE_EXPRESSION(
(boost)(spirit)(lex)(less)
@@ -130,6 +99,4 @@ namespace boost { namespace phoenix
{};
}}
-#endif // BOOST_SPIRIT_USE_PHOENIX_V3
-
#endif