summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '3rdParty/Boost/src/boost/spirit/home/lex/lexer/lexertl')
-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
3 files changed, 31 insertions, 7 deletions
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