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