$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
From: Johan Nilsson (r.johan.nilsson_at_[hidden])
Date: 2007-05-31 02:09:48
Peter Dimov wrote:
> From: "Johan Nilsson" <r.johan.nilsson_at_[hidden]>
>
>> void foo()
>> {
>>    int const shouldBe3 = (
>>        lambda::bind(&bar, 1),
>>        lambda::bind(&bar, 2),
>>        lambda::return(3) // Yes, this conflicts with the regular
>> "return" statement, but you get the idea
>>    )();
>>
>>    assert(3 == shouldBe3);
>> }
>
>    int const shouldBe3 = (
>        lambda::bind(&bar, 1),
>        lambda::bind(&bar, 2),
>        3
>    )();
Now, that's what I call _embarrasingly_ simple. How stupid of me.
To my defence, the above question originated from a problem I had in a more 
complex scenario of doing a very similar thing, where I did try to specify 
the return value by using lambda::constant. When that didn't work I 
simplified the code and posted the above without trying it out, using a 
custom functor instead for the original code. I just now tried to revert to 
using the composite lambda expression and it just works, so I probably made 
a typo and misinterpreted the error messages earlier.
Sorry for the noise.
/ Johan