|
Boost Users : |
Subject: Re: [Boost-users] [bind] How do I....?
From: Robert Jones (robertgbjones_at_[hidden])
Date: 2009-08-18 15:58:23
On Tue, Aug 18, 2009 at 6:10 PM, Michael Caisse <
boost_at_[hidden]> wrote:
> Robert Jones wrote:
>
>> 2009/8/18 Björn Karlsson <Bjorn.Karlsson_at_[hidden] <mailto:
>> Bjorn.Karlsson_at_[hidden]>>
>>
>>
>>
>> 2) Use Boost.Lambda's bind() and dereference the placeholder
>> directly in the bind expression.
>>
>> for_each(vec.begin(), vec.end(), bind(&foo, *_1));
>>
>> Much as I like Lambda for virgin code, in my work code base there's a very
>> visible inclusion
>> of Boost.Bind, with placeholders in the global namespace. I've concluded
>> that the pain of clashing
>> placeholders just isn't worth it, so I steer clear of Lambda now.
>>
>> Thanks Bjorn.
>>
>> - Rob.
>>
>
> Rob -
>
> Let me suggest Boost.Phoenix. Phoenix is an amazingly powerful library that
> will
> handle all of your bind and lambda needs. You also wont suffer from the
> plagued
> global namespace fiasco by mixing Boost.Bind and Boost.Lambda.
>
Ah, yes, Phoenix......
I'm never sure of the status of Phoenix - it's not listed as a first class
library in
the documentation, but buried inside the Spirit docs, and I understand
that's
about to change. So will all the #include paths change, or indeed some
aspects
of the functionality?
Thanks Micheal
- Rob.
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net