RCS file: /cvsroot/boost/boost/boost/xpressive/detail/dynamic/dynamic.hpp,v
retrieving revision 1.4
diff -b -d -u -r1.4 dynamic.hpp
|
|
|
130 | 130 | |
131 | 131 | bool is_quantifiable() const |
132 | 132 | { |
133 | | return quant_type<Matcher>::value != (int)quant_none; |
| 133 | return quant_type<Matcher>::value != (int)quant_none || this->next_ != get_invalid_xpression<BidiIter>(); |
134 | 134 | } |
135 | 135 | |
136 | 136 | private: |
… |
… |
|
316 | 316 | template<typename Matcher, typename BidiIter> |
317 | 317 | inline sequence<BidiIter> dynamic_xpression<Matcher, BidiIter>::quantify_ |
318 | 318 | ( |
319 | | quant_spec const & |
320 | | , std::size_t & |
321 | | , sequence<BidiIter> |
| 319 | quant_spec const &spec |
| 320 | , std::size_t &hidden_mark_count |
| 321 | , sequence<BidiIter> seq |
322 | 322 | , mpl::int_<quant_none> |
323 | | , alternates_factory<BidiIter> const & |
| 323 | , alternates_factory<BidiIter> const &factory |
324 | 324 | , void const * |
325 | 325 | ) const |
326 | 326 | { |
327 | | BOOST_ASSERT(false); // should never get here |
328 | | throw regex_error(regex_constants::error_badrepeat, "expression cannot be quantified"); |
| 327 | BOOST_ASSERT(this->next_ != get_invalid_xpression<BidiIter>()); |
| 328 | return this->quantify_(spec, hidden_mark_count, seq, mpl::int_<quant_variable_width>(), factory, this); |
329 | 329 | } |
330 | 330 | |
331 | 331 | // fixed-width matchers |