Boost C++ Libraries Home Libraries People FAQ More

Next

Chapter 1. Boost.Move

Ion Gaztanaga

Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Table of Contents

Introduction
Implementing copyable and movable classes
Copyable and movable classes in C++0x
Copyable and movable classes in portable syntax for both C++03 and C++0x compilers
Composition or inheritance
Movable but Non-Copyable Types
Containers and move semantics
Constructor Forwarding
Move iterators
Move inserters
Move algorithms
Emulation limitations
Initializing base classes
Template parameters for perfect forwarding
Binding of rvalue references to lvalues
Further limitations depending on the emulation mode
Two emulation modes
Optimized mode
Non-optimized mode
How the emulation works
Thanks and credits
Reference
Header <boost/move/move.hpp>
[Warning] Warning

This library is NOT an official Boost library

[Note] Note

For reviewers This library has two operating modes, depending on the macro BOOST_MOVE_OPTIMIZED_EMULATION. In the review, one of these modes should be chosen as the desired move emulation node. See chapter Two emulation modes for more details about pros and cons of each operating mode

[Note] Note

For reviewers If you want to know how the emulation works behind the scenes to propose improvements or corrections, please see chapter How the emulation works for more details

[Important] Important

To be able to use containers of movable values you will need an special version of Boost.Container bundled with this library

[Note] Note

Tested compilers: MSVC-7.1, 8.0, 9.0, GCC 4.3-MinGW in C++03 and C++0x modes, Intel 10.1

Last revised: April 25, 2010 at 11:36:15 GMT


Next