
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