Boost logo

Boost :

From: Stefan Slapeta (stefan_nospam__at_[hidden])
Date: 2004-11-29 17:53:05


Peter Dimov wrote:
>
> Currently boost/ appears to contain 98 header files. Bringing this down
> to 97 wouldn't be much of an improvement.
>

I didn't propose to delete the old one.

> You bring up the legitimate problem of bind's _1 clashing with lambda's
> _1 (when "using namespace boost::lambda" is in effect), but I totally
> don't see what this has to do with moving boost::bind to boost::bind::bind.
>

Symmetry:

boost::lambda::bind, boost::bind::bind (or maybe boost::function::bind
and also include boost.function library there)

> To answer your specific question, ::_1 selects the Bind placeholder and
> boost::lambda::_1 selects Lambda's one; consequently, "using ::_1" is an
> using declaration for Bind's _1, and "using boost::lambda::_1" is the
> using declaration for its Lambda counterpart. I only tested them on VC
> 7.1, though; maybe your compiler doesn't accept them?
>

This might be a different discussion but I simply don't understand what
are the rules for putting boost.bind and boost.function in the 'global'
boost namespace and many other libraries not. Historical reasons? A
matter of interface size?

[...]
>
> Probably not. You'll use "using namespace boost::placeholders" instead,
> when bind is modified to conform a bit more closely to TR1. The problem
> is that this breaks existing code. Of course when you have two using
> directives, one for Bind and one for Lambda, _1 will once again become
> ambiguous.

There will be other headers for the TR1 implementations, so breaking
existing code is not so much my problem.

Stefan


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