El 07/09/2011 22:30, Daniel James escribió:
2011/9/7 Ion Gaztañaga
: That's a limitation of the move emulation explained in the documentation:
The macro BOOST_COPYABLE_AND_MOVABLE needs to define a copy constructor for copyable_and_movable taking a non-const parameter in C++03 compilers:
Seems to only be the case for the assignment operator, not the copy constructor. I added an assignment operator to the real code and now everything works fine.
Yes, sorry, you are right.
I noticed that you have a macro BOOST_COPYABLE_AND_MOVABLE_ALT which doesn't define the assignment operator, is that a way to avoid this problem? I'd be tempted to do that, implicit move assignment doesn't seem that important to me.
The problem is that containers already define the non-const assignment operator, so there is nothing you can do with this, unless, I put a compile time switch to change move emulation in Boost.Container.
While I'm here, can you add both libraries to libs/libraries.htm, libs/maintainers.txt, doc/src/boost.xml (unless you want the documentation to be built separately?) and add index files to the libraries' directories. Let me know if you need any help.
I'll try to do it, I'll ping you if I found any problem, thanks, Ion