Re: [Boost-bugs] [Boost C++ Libraries] #4704: Support for multicapture and balancing groups

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #4704: Support for multicapture and balancing groups
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-10-10 15:14:28


#4704: Support for multicapture and balancing groups
--------------------------------+-------------------------------------------
  Reporter: erik@… | Owner: eric_niebler
      Type: Feature Requests | Status: assigned
 Milestone: To Be Determined | Component: xpressive
   Version: Boost 1.44.0 | Severity: Not Applicable
Resolution: | Keywords: xpressive
--------------------------------+-------------------------------------------

Comment (by Erik Rydgren <erik@…>):

 Replying to [comment:5 eric_niebler]:
> Oh wait! I just realized from looking at your change to
 {{{mark_end_matcher}}} that you are //always// populating the
 {{{captures}}} member of the {{{sub_match}}} struct (for non-hidden
 captures). This will have disastrous performance implications. There
 cannot potentially be an allocation every time you match a marked sub-
 expression. I can't accept this change.
>
> I suggest you find a way to make this behavior opt-in.

 I have now uploaded an updated version of the multicapture functionality.
 Multicapture is now opt-in with very little impact on performance if not
 used.

 Some documentation about multicapture and the new syntax constructs is
 added and I've also gone over the changes to make sure it follows the same
 coding standard as the rest of the code.

 I also changed the mark conditional construct to accept alternates,
 (?P(name)this|that|andwhatnot).

 The new syntax for static pop capture required some extra code in the
 grammar, is_pure and width_of. I would be grateful for some extra
 reviewing in those areas since I am uncertain that I fully grasp all the
 details about what's going on there.

 The new code can be reached through the same URL as the old version.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/4704#comment:7>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:04 UTC