Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r66623 - trunk/boost/spirit/home/lex/lexer/lexertl
From: admin_at_[hidden]
Date: 2010-11-17 10:31:05


Author: wash
Date: 2010-11-17 10:31:03 EST (Wed, 17 Nov 2010)
New Revision: 66623
URL: http://svn.boost.org/trac/boost/changeset/66623

Log:
Fixes a problem with iterators in Lex identified by M. Gaunard. This prevents
semantics such as "T it; T it2 = ++it;" from compiling. I've added his fix for
this as the semantics in question are clearly legal and the fix implements the
required behavior correctly.

Text files modified:
   trunk/boost/spirit/home/lex/lexer/lexertl/iterator.hpp | 5 +++++
   1 files changed, 5 insertions(+), 0 deletions(-)

Modified: trunk/boost/spirit/home/lex/lexer/lexertl/iterator.hpp
==============================================================================
--- trunk/boost/spirit/home/lex/lexer/lexertl/iterator.hpp (original)
+++ trunk/boost/spirit/home/lex/lexer/lexertl/iterator.hpp 2010-11-17 10:31:03 EST (Wed, 17 Nov 2010)
@@ -89,6 +89,11 @@
         // create an end iterator usable for end of range checking
         iterator() {}
 
+ // (wash): < mgaunard> T it; T it2 = ++it; doesn't ocmpile
+ // < mgaunard> this gets fixed by adding
+ iterator(const base_type& base)
+ : base_type(base) { }
+
         // set the new required state for the underlying lexer object
         std::size_t set_state(std::size_t state)
         {


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk