Boost logo

Boost :

Subject: Re: [boost] [Phoenix-3] Is Actor assignable?
From: Joel de Guzman (joel_at_[hidden])
Date: 2011-01-21 20:05:48


On 1/21/2011 8:39 PM, Michel MORIN wrote:
> I have another question about Phoenix 3.
> Is the copy assignment of Actors no-op, or does it really copy the contents?
>
> Actor a;
> Actor b = ...;
> a = b; // no-op?

It should copy the contents. Thomas?

[snip]

> (In Phoenix 2, boost::phoenix::value<T> is not default constructible, and so
> the above iterator does not satisfy the ForwardIterator requirements too.)

That is true. phoenix::value is not default constructible. While it is
easy to make it so, I'm not sure it is a good idea as it will potentially
break existing code which holds values that are not default constructible.
I'd argue that phoenix3 should follow.

OTOH, I think a good compromise is to allow default construction on primitive
types and POD structs. That will solve your problem. I can do that now with
phoenix-2.

Regards,

-- 
Joel de Guzman
http://www.boostpro.com
http://boost-spirit.com

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