|
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