Transfer the C++03 move-only type emulation into base/move.h and also make ScopedVector move-only.
Also:
* Add a lot of documentation explaining what this macro does.
* Change the implementation of RValue so it cannot be instantiated.
The change to always use RValue& makes for more efficent code in debug builds. Looking at the disassembly for a simple use case (calling a function with one parameter), it removes the creation of one temporary.
BUG=96118
TEST=new unittests. exist code still compiles.
Review URL: https://chromiumcodereview.appspot.com/9207021
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118388 0039d316-1c4b-4281-b951-d872f2087c98
CrOS-Libchrome-Original-Commit: 59e639aeb0da096e017d0786cfe852319152d74b
5 files changed