$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [Boost-users] [Proto] lazy transform is not working
From: Eric Niebler (eric_at_[hidden])
Date: 2009-04-03 17:09:43
Dave Jenkins wrote:
>> A bug. It's fixed now on the trunk and release branches. Thanks.
> 
> Thank you, Eric.  That works, but now proto::lazy isn't working with 
> proto::fold.
> 
> Below is a program you posted to boost.devel on 3/29/2008, updated with 
> s/bind/lazy/ and s/_arg/_child/.  It's giving me the following syntax 
> error. Any idea what's wrong?
Yes, the new code is actually correct, but it requires you to correctly 
handle references in your function object. Just add the following 
result<> specializations to the Accumulator<> class template:
    template<typename This, typename Value2>
    struct result<This(Value2 &)> : result<This(Value2)>
    {};
    template<typename This, typename Value2>
    struct result<This(Value2 const &)> : result<This(Value2)>
    {};
With this change, it works for me.
-- Eric Niebler BoostPro Computing http://www.boostpro.com