
on Mon Jan 05 2009, Ion GaztaƱaga <igaztanaga-AT-gmail.com> wrote:
Howard Hinnant wrote:
On Jan 4, 2009, at 4:54 PM, Ion GaztaƱaga wrote: I think a consolidated move library is a very good idea. Thanks for working on it Ion.
I spoke too fast! a) The header has no move guards b) emulation is not working properly when trying to port some Interprocess classes to the new emulation.
Although I add the conversion operator (either manually or by macro) functions returning by value don't work sometimes and the private copy constructor is selected by the compiler (Visual 7.1). I know little about conversion operators but the difference between the old move emulation and the new one is that there is no need for a move_return<> type that holds movable-only types. Should the emulation work in these cases?
MovableOnly factory();
int main() { MovableOnly m1(factory()); MovableOnly m2(MovableOnly(arg)); return 0; }
Maybe I'm doing something wrong but I just gave up after several tries to fix this ;-)
Have you got the code and tests in the sandbox? I will be happy to take a crack at it. -- Dave Abrahams BoostPro Computing http://www.boostpro.com