
Hi All, ----- Original Message ----- From: "Rob Stewart" <stewart@sig.com> To: <boost@lists.boost.org> Cc: <boost@lists.boost.org> Sent: Tuesday, September 20, 2005 4:23 AM Subject: Re: [boost] [Review] xpressive [snip]
It looks like the current setup is not STL-friendly. Most of the "what"
[snip]
That's completely STL-friendly: there are iterators. When using
[snip]
completely useless isn't unfriendly? You'll have to use a (mutable) object
[snip]
why not just pass ++pieces.begin()? Furthermore, as I said, one
in a 0-based array culture, like C++ (or C). C++ people would expect
[snip] the etc. Several interesting points but nothing to convince me that the 1-based access to the results vector is anything other than a legacy attribute of the xpressive interface. In fact, quite the opposite. The scale of the relevant history was a small surprise. Directing the 0-based activists to the TR1 and C++0x standards efforts sounded reasonable to me. As one of those "activists" I wouldn't feel comfortable consuming further time and resource smoothing such a small wrinkle. Someone's cute, original idea (K. Thompson?) is going to be around for some time yet, in spite of the changes in software development (OO, generic coding) over the intervening decades. An idea did bubble to the surface while reading this thread. If the justification for 1-based access relates to the notion that the index is a logical id for a member of some composite object (e.g. a class), can this be taken further? Are we not dealing with a lexical representation of a "record", "row" or "message"? Could the results machinery be augmented with a typelist somehow? Access through the results object might invoke an appropriate boost cast. NYI? Cheers.