Boost logo

Boost :

Subject: Re: [boost] Removing _1 from the global namespace (again)
From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2013-12-14 16:00:33


On Sun, Dec 15, 2013 at 12:33 AM, Edward Diener <eldiener_at_[hidden]> wrote:
> On 12/14/2013 12:14 PM, Andrey Semashev wrote:
>>
>> On Sat, Dec 14, 2013 at 8:56 PM, Peter Dimov <lists_at_[hidden]> wrote:
>>>
>>> If we're going to call the next release 2.0, we'll be allowed some
>>> latitude
>>> with respect to breaking changes, so maybe this is the right time to
>>> finally
>>> remove the Bind placeholders from the global namespace.
>>>
>>> This will, however, break many things all around Boost (to say nothing
>>> about
>>> the outside world), as a quick grep can readily reveal. And,
>>> consequently,
>>> it will generate a certain amount of work for the maintainers of the
>>> affected libraries that, from their point of view, can appear
>>> unnecessary.
>>>
>>> So I'll need a certain amount of community consensus before going ahead
>>> and
>>> breaking everyone's code. :-)
>>
>>
>> So far I had no problems with the global placeholders and used them
>> extensively in my projects. For sure this will cause a lot of headache
>> for me. I'd prefer not making this change, unless there is a
>> compelling reason for it.
>
>
> The compelling reason is that if it remains in the global namespace no other
> use of '_n' can be conveniently hoisted into the current scope at the same
> time via a 'using namespace xxx'. Whereas if it is in its own namespace, as
> in retrospect it should have been, then the flexibility of hoisting the use
> of '_n' from whatever library, can be preserved.

I suppose, I just don't use using directives all that much, so it
doesn't bother me. But I can see why it could be annoying if I did.


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