Boost logo

Boost :

Subject: Re: [boost] [Boost.Move] A few notes
From: Dan Ivy (danivy.mail_at_[hidden])
Date: 2012-01-12 18:50:23


2012/1/13 Ion Gaztañaga <igaztanaga_at_[hidden]>:
> El 11/01/2012 18:29, Dan Ivy escribió:
> Forcing emulation would be easy, if you think it's useful, please fill a
> ticket so that I can remember that for the new version. Disabling move
> semantics it's a bit extrange I don't think it should be added without a
> good reason.

Forcing move emulation is something I personally found useful, and it
seems to be *almost* as simple adding a || defined
(BOOST_MOVE_USE_EMULATION).
I am pretty indifferent about disabling move semantics, it's just
something I though would be useful, so feel free to discard it. The
scenario I had in mind is something like this: You recently added move
ctors to some of your classes, and not long after things start to go
wrong. You suspect that the newly added move ctors have something to
do with it (after all, move constructors are usually pretty delicate),
so you disable move semantics and see if things go back to normal. If
they do, you know where to start looking for errors.
Move semantics are, for the most part, an optimization (I can hear
Jeffrey grunts :) ), and it's your reponsibility to get this
optimization right. Just like compilers let you disable optimizations
(and compiler-writers probably do this once or twice when testing new
stuff), it seemed logical to me to be able to disable moving. But
that's just a thought.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk