|
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