$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Douglas Gregor (gregod_at_[hidden])
Date: 2001-07-26 21:37:23
On Thursday 26 July 2001 07:44, you wrote:
> John Maddock wrote:
> > boost success = mystring >> myregex
> > std::string s = mystring >> myregex/myformat
>
> 	I'd have thought that
>
> 	regex / string
>
> should yield an iterator into the match groups container:
>
> 	for(g = regex / string;  g++; g) {
> 		cout << "group = " << *g << endl;
> 	}
>
> and hence
>
> 	if(regex/string)...
>
>
> works because it yields a 'null' iterator if the comparison fails.
> To substitute the groups into the format string:
>
> 	(regex/string) >> format
>
> to reference group 3:
>
> 	(regex/string)[3]
>
>
> Another possibility is just:
>
> 	m = regex/string;
> 	for (g = m.begin(); g++; m.end()) ..
>
>
> ie. regex/string is a standard container supporting
> random iterators.
Very interesting... I think this would be a reasonable addition, though at 
some point we're getting past the original intention of the 'perlish' syntax: 
a concise (somewhat familiar) syntax for simple pattern matching tasks.
Though I do wonder at what point we've gone too far in the abuse of operator 
overloading.
        Doug