![]() |
Home | Libraries | People | FAQ | More |
BOOST_MOVE_OPTIMIZED_EMULATION —
// In header: <boost/move/move.hpp>
BOOST_MOVE_OPTIMIZED_EMULATIONDefining or undefining this macro will change Boost.Move behaviour for copyable and movable classes when assigning from non-const rvalues:
copyable_and_movable produce(){ return copyable_and_movable(); }
If the macro is NOT defined:
copyable_and_movable cm; cm = copyable_and_movable(); //object is COPIED (missed optimization)
If the macro IS defined:
copyable_and_movable cm; cm = copyable_and_movable(); //object is MOVED
However, the second option has also some downsides. See documentation for more details.