Changeset 62182


Ignore:
Timestamp:
May 24, 2010, 10:43:31 PM (9 years ago)
Author:
Hartmut Kaiser
Message:

Spirit: fixed a problem with lex::_val

Location:
trunk/boost/spirit/home/lex
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/boost/spirit/home/lex/argument.hpp

    r58588 r62182  
    158158            context_type;
    159159
    160             typedef typename context_type::token_value_type& type;
     160            typedef typename context_type::get_value_type type;
    161161        };
    162162
  • trunk/boost/spirit/home/lex/lexer/lexertl/functor_data.hpp

    r62084 r62182  
    4040        public:
    4141            typedef Iterator base_iterator_type;
    42             typedef unused_type token_value_type;
     42            typedef iterator_range<Iterator> token_value_type;
     43            typedef token_value_type get_value_type;
    4344            typedef std::size_t state_type;
    4445            typedef char_type const* state_name_type;
     
    195196        public:
    196197            typedef Iterator base_iterator_type;
    197             typedef unused_type token_value_type;
     198            typedef iterator_range<Iterator> token_value_type;
     199            typedef token_value_type get_value_type;
    198200            typedef typename base_type::state_type state_type;
    199201            typedef typename base_type::state_name_type state_name_type;
     
    272274            typedef Iterator base_iterator_type;
    273275            typedef TokenValue token_value_type;
     276            typedef TokenValue const& get_value_type;
    274277            typedef typename base_type::state_type state_type;
    275278            typedef typename base_type::state_name_type state_name_type;
  • trunk/boost/spirit/home/lex/lexer/lexertl/static_functor_data.hpp

    r62084 r62182  
    5454        public:
    5555            typedef Iterator base_iterator_type;
    56             typedef unused_type token_value_type;
     56            typedef iterator_range<Iterator> token_value_type;
     57            typedef token_value_type get_value_type;
    5758            typedef std::size_t state_type;
    5859            typedef char_type const* state_name_type;
     
    213214        public:
    214215            typedef Iterator base_iterator_type;
    215             typedef unused_type token_value_type;
     216            typedef iterator_range<Iterator> token_value_type;
     217            typedef token_value_type get_value_type;
    216218            typedef typename base_type::state_type state_type;
    217219            typedef typename base_type::state_name_type state_name_type;
     
    293295            typedef Iterator base_iterator_type;
    294296            typedef TokenValue token_value_type;
     297            typedef TokenValue const& get_value_type;
    295298            typedef typename base_type::state_type state_type;
    296299            typedef typename base_type::state_name_type state_name_type;
  • trunk/boost/spirit/home/lex/lexer/lexertl/token.hpp

    r58694 r62182  
    162162
    163163#if defined(BOOST_SPIRIT_DEBUG)
     164#if BOOST_WORKAROUND(BOOST_MSVC, == 1600)
     165        // workaround for MSVC10 which has problems copying a default
     166        // constructed iterator_range
     167        token& operator= (token const& rhs)
     168        {
     169            return *this;
     170        }
     171#endif
    164172        std::pair<Iterator, Iterator> matched_;
    165173#endif
     
    353361            if (this != &rhs)
    354362            {
    355                 this->base_type::operator=(rhs);
     363                this->base_type::operator=(static_cast<base_type const&>(rhs));
    356364                if (this->id_ != boost::lexer::npos && this->id_ != 0)
    357365                    value_ = rhs.value_;
Note: See TracChangeset for help on using the changeset viewer.