Eric Niebler:
Peter Dimov wrote:
Noah Roberts:
Would be nice if bind() didn't cause this.
I can probably get the placeholders out of the global namespace in 1.41.
Are the placeholders going to be in an anonymous namespace when added to the std lib?
No, they're in namespace std::placeholders.
You, Joel de Guzman, Dan Marsden and I should coordinate. We might be able to use Proto so that the bind placeholders can be shared with the Phoenix placeholders, eliminating this source of confusion once and for all.
Bind can already use any placeholders (and in fact does recognize the Lambda placeholders). No coordination is needed, just a specialization of boost::is_placeholder. The main problem is that all code that relies on the placeholders being visible will break. A secondary problem I have is that to keep Bind header-only I (think I) need to move to using inline functions instead of objects for _K on all compilers. This will consume one release cycle, during which the global placeholders will be "deprecated". The next release will remove them from the global namespace. But if there's a Boost-wide header that defines _K, I can easily make Bind use it.