From: Peter Dimov (pdimov_at_[hidden])
Date: 2003-08-26 07:36:45


John Maddock wrote:
>>> Thats my point - you may flag some types as safely moveable and then
>>> use
>>> this knowledge in algorithms. User has the responsibility to do the
>>> decision.
>>
>> Extremely dangerous and error prone. I can't even imagine a non-POD
>> type where flagging it for memcpy_copyable and memcpy_moveable can
>> be right.
> Can
>> you give an example ?
>>
>> Also, "flagging it" introduces some more complication on the user's
>> part. How would you propose the user do this ?
>
> He needs to take a look at the has_trivial_* traits:
>
> has_trivial_assign is roughly equivalent to memcpy_copyable
>
> I guess there is no equivalent to memcpy_moveable: but it looks rather
> dangerous, what state is the original object left in afterwards etc?

None. There is no original object after the move, only raw storage.