Subject: Re: [boost] Movable but not copyable bug?
From: Mostafa (mostafa_working_away_at_[hidden])
Date: 2014-08-25 20:02:05
On Mon, 25 Aug 2014 14:01:18 -0700, Ion Gaztañaga <igaztanaga_at_[hidden]>
> El 25/08/2014 18:08, Mostafa escribió:
>> On Mon, 25 Aug 2014 03:23:59 -0700, Ion Gaztañaga <igaztanaga_at_[hidden]>
>>> I also noted that you've disabled the assignment operator taking by
>>> value. I have no idea on what can happen, as Boost.Move disables also
>>> the copy assignment taking by non-const reference.
>> Does that mean that when using BOOST_MOVABLE_BUT_NOT_COPYABLE clients
>> should not delete the copy constructor or the copy assignment operator?
>> If so, that should be documented.
> I think it's documented:
Ah, ok , thanks. That information is indeed documented in the second link,
but not the first. I think it should also be documented in the first link,
since that page presents a formulaic instruction on how to use the
library. From the first link:
To write a movable but not copyable type in portable syntax, you need to
follow these simple steps:
- Put the following macro in the private section:
- Write a move constructor and a move assignment taking the parameter
Having BOOST_MOVABLE_BUT_NOT_COPYABLE usage requirements spread across two
pages is confusing IMO. I suggest adding the following to the above
- Do not delete the copy constructor. (In C++03 do not declare it and
leave it undefined.)
- Do not delete the copy assignment operator. (In C++03 do not declare
it and leave it undefined.)
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk