![]() |
Home | Libraries | People | FAQ | More |
BOOST_MOVE_TO_LV
// In header: <boost/move/core.hpp>
BOOST_MOVE_TO_LV(ARG)This macro is used to achieve portable optimal move constructors.
In C++03 mode, when accessing a member of type through a rvalue (implemented as a rv<T> & type, where rv<T> derives from T) triggers a potential UB as the program never creates objects of type rv<T>. This macro casts back rv<T> to T& so that access to member types are done through the original type.
In C++11 compilers the cast from a rvalue reference of a derived type to a rvalue reference of a base type is implicit, so it's a no-op.