Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2005-09-03 04:10:51

Thorsten Ottosen <nesotto_at_[hidden]> writes:

>> You also seem to be forgetting the Range concepts that you yourself
>> documented here: In the
>> concepts, the calls to begin()/end() are REQUIRED to be qualified.

Let me clarify. Eric, you seem to be saying that it's inconsistent
for the "begin" extension mechanism to be "add a begin to be found via
ADL in the same namespace as the Range type" and for the interface for
calling those begin to be "boost::begin(x)." There's no inherent
inconsistency there. It's possible to implement such a mechanism.
However, I don't think that's what Thorsten implemented.

> well, the boost:: qualification was added for 1.33 because Dave
> wanted that to happen.

Please, take responsibility for your own actions. If I didn't
convince you that there was a problem with the previously specified
requirement and that the change was more consistent with the existing
code, you shouldn't have made it.

> I belive the problem was that without boost:: qualification,
> standard containers were not conforming to a range concept. Somebody
> suggested the requirement
> using boost:begin;
> begin(r);
> instead. Dave rejected it.

I'm pretty sure I didn't "reject" it. I probably pointed out that
it's inconvenient and difficult for users. I'd appreciate any pointer
you have to what I did say. Anyway, how this is done is not up to me

> If that is wrong afterall, then the whole area of specifying
> concepts for free- standing functions is a mess.

What does that phrase mean?

Dave Abrahams
Boost Consulting

Boost list run by bdawes at, gregod at, cpdaniel at, john at