Boost logo

Boost :

Subject: Re: [boost] [mpl][fold.html] apply<op, _1, deref<_2> > correction needed.
From: Larry Evans (cppljevans_at_[hidden])
Date: 2009-03-11 13:07:08


On 03/11/09 11:38, Steven Watanabe wrote:
> AMDG
>
> Larry Evans wrote:
>> The vault file:
>>
>> http://preview.tinyurl.com/cbr9k3
>>
>> demonstrates the bug. What's the correct
>> value for the ForwardOp arg to iter_fold in
>> http://www.boost.org/doc/libs/1_38_0/libs/mpl/doc/refmanual/fold.html?
>
> I'm very confused. First of all, in the
> assertions, you probably want boost::mpl::equal_to
> instead of boost::mpl::equal.

Thanks. Will change.

> Second, I don't see fold or iter_fold at all.

I'm not saying there's a bug in either. I'm claiming
there's a documentation bug.

> Finally, when you use a lambda expression
> inside another lambda expression, you need
> to wrap it in protect.
>
> mpl::apply<mpl::apply<op_meta_fun_elem<_1, _2>, _1, mpl::deref<_2> >,
> state0, iter0>::type
>
> is guaranteed to behave strangely, because all the placeholders
> will be substituted by the outermost apply.

So the documentation in fold.html should have used protect
somewhere in apply<op,_1, deref<_2> >?

Thanks Steven.

-Larry


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