
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: https://svn.boost.org/trac/boost/ticket/6167
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_NO_CXX11_RVALUE_REFERENCES. Boost.Move 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? Regards, Adam