$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] Phoenix.bind VS Lambda.bind
From: Mathias Gaunard (mathias.gaunard_at_[hidden])
Date: 2010-04-09 13:20:11
Alexey Tkachenko wrote:
> Hi,
> Now I'm looking at Phoenix and Lambda libraries. Could somebody
> explain why Lambda allows to use the following expression:
> void foo(int) { ... }
> ...
> bind(foo, _1)(10);
>
> yet Phoenix does not.
> Phoenix requires to use helper variable:
> void foo(int) { ... }
> ...
> int i = 0;
> bind(foo, _1)(i);
>
> I've read document about "Forwarding Function Problem"
> (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2002/n1385.htm). I
> understand the core issue, but how does Lambda.bind solve it?
Lambda takes by value, Phoenix takes by reference.