
"Eric Niebler" <eric@boost-consulting.com> writes:
David Abrahams wrote:
Pavol Droba <droba@topmail.sk> writes:
On Tue, Apr 06, 2004 at 02:43:20PM -0400, David Abrahams wrote:
What would be the advantage? User can write iterator_range res=regex_maxch(...);
Doesn't the match object get destroyed here, thereby invalidating the iterators?
Not really as far as I know. Iterators are bound to the collection that is being searched, not to the match itself. Therfore, they validity should not be bound the lifetime of them match. They will be copied to the iterarator_range. The match object *is* the collection (of submatches) being searched.
A sub-match is just a glorified pair of iterators. The iterators refer to the sequence being searched, which has a lifetime independent of the match object. There is no risk of iterator invalidation here.
I'm not worried about submatch's iterators over the original input sequence, but about the match_results's iterators over submatches. -- Dave Abrahams Boost Consulting www.boost-consulting.com