Boost logo

Boost :

Subject: Re: [boost] [tuple] - Move constructors for Tuple
From: Adam Wulkiewicz (adam.wulkiewicz_at_[hidden])
Date: 2013-02-22 14:32:17

paul Fultz wrote:
> Im sorry, it should be something like this:
> struct foo
> {
> tuple<int> x;
> };
> foo a;
> a = foo();
> Because of this issue here:

It compiles now, thanks. Checked on clang (98, 11), gcc (98, 11), mingw,
vs2010, for tuples and tuple::cons.

- in c++98 copy assignment is called
- in c++11 move assignment is called
- in vc2010 copy assignment is called, it probably just doesn't generate
implicit move assignment for foo.

Btw, I saw the ticket. Everything that needs to be done is adding
explicitly defined copy assignment taking const ref if
BOOST_COPYABLE_AND_MOVABLE() macro adds only non-const ref version. If
the const version was added as well it would probably fix all issues
described in the ticket. Is there a reason why this isn't there?


Boost list run by bdawes at, gregod at, cpdaniel at, john at