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: http://boost.org/libs/range/doc/range.html. 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
alone.

> 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
www.boost-consulting.com

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk