Boost logo

Boost :

Subject: Re: [boost] Removing Bind placeholders from the global namespace
From: Sohail Somani (sohail_at_[hidden])
Date: 2009-06-14 16:00:08


Peter Dimov wrote:
> Sohail Somani:
>> Peter Dimov wrote:
>>> Sohail Somani:
>>>> Anyway, isn't boost::placeholders too presumptuous?
>>>
>>> std::bind's placeholders are defined in namespace std::placeholders.
>>
>> Those placeholders are really limited and as far as I can tell it would
>> be tough to make them the foundation of anything except bind-like stuff.
>>
>> If you were to have (say) phoenix placeholders in boost::placeholders,
>> you could still implement bind but the rest of the libraries could use
>> the extra functionality.
>
> That is all very well but doesn't make it quite clear to me what do you
> suggest. Not move bind's placeholders and leave them global? Move them
> to a namespace other than boost::placeholders? Something else entirely?

Sorry for not being clear!

If the boost::placeholders namespace was to exist, I was suggesting that
boost standardize on the placeholders in that namespace.

This way, one can add "using namespace boost::placeholders" where there
is a lot of binding going on and not worry about whether they should be
using lambda's _1 or bind's _1 or phoenix arg1 or whatever else there is
now. How many different placeholder libraries are there anyway?

Hope that is a bit clearer.

-- 
Sohail Somani
http://uint32t.blogspot.com

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