Boost logo

Boost :

Subject: Re: [boost] [Review] Polynomial library review begins today
From: David Abrahams (dave_at_[hidden])
Date: 2009-03-10 12:29:52


Yes, moving from lvalues with copy or assignment syntax is never a
good idea.

Sent from my iPhone

On Mar 10, 2009, at 8:45 AM, Frank Mori Hess <frank.hess_at_[hidden]>
wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On Tuesday 10 March 2009, Neal Becker wrote:
>> 2) """
>> Modification from std::vector:
>> polynomial<FieldType>& operator=(std::vector<FieldType>& c);
>>
>> This function uses the nested std::vector::swap() function. The c
>> vector
>> should contain new coefficients.
>> """
>>
>> Does this mean that the vector 'c' is modified? I can't accept
>> this. This
>> really violates the principle of least surprise. Noone expects an
>> operator= to act like that.
>
> I agree with Neal. By the way, there is also a copy constructor
> with the same
> problem. Perhaps the operator= overload for std::vector should be
> renamed to
> something like "move_from" until a move emulation library gets added
> into
> boost? Or, only real moves using rvalue references should be
> supported.
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.9 (GNU/Linux)
>
> iEYEARECAAYFAkm2ix8ACgkQ5vihyNWuA4WsfwCg1caMvHYK+CKngKcRMZv8JMzH
> G/QAnAjAPW4Wr9cs4QNoMI+fdDNB97ad
> =7ycd
> -----END PGP SIGNATURE-----
> _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
>


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