Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Chapter 22. 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

Tested compilers
What is Boost.Move?
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
Implicit Move when returning a local object
Move iterators
Move inserters
Move algorithms
Smart pointer unique_ptr
Basic use
Arrays
Creation functions
Custom deleters
Conversions
Containers of unique_ptr
constexpr support
Calling convention
Improvements over std::unique_ptr and other differences
Emulation limitations
Initializing base classes
Template parameters for perfect forwarding
Binding of rvalue references to lvalues
Assignment operator in classes derived from or holding copyable and movable types
Templated assignment operator in copyable and movable types
How the move emulation works in C++03
Thanks and credits
Release Notes
Boost 1.93 Release
Boost 1.91 Release
Boost 1.90 Release
Boost 1.88 Release
Boost 1.87 Release
Boost 1.85 Release
Boost 1.81 Release
Boost 1.79 Release
Boost 1.78 Release
Boost 1.77 Release
Boost 1.76 Release
Boost 1.75 Release
Boost 1.73 Release
Boost 1.71 Release
Boost 1.70 Release
Boost 1.69 Release
Boost 1.67 Release
Boost 1.66 Release
Boost 1.65 Release
Boost 1.64 Release
Boost 1.62 Release
Boost 1.61 Release
Boost 1.60 Release
Boost 1.59 Release
Boost 1.58 Release
Boost 1.57 Release
Boost 1.56 Release
Boost 1.55 Release
Boost 1.54 Release
Boost 1.53 Release
Boost 1.51 Release
Boost 1.49 Release
Reference
Header <boost/move/adl_move_swap.hpp>
Header <boost/move/algo/adaptive_merge.hpp>
Header <boost/move/algo/adaptive_sort.hpp>
Header <boost/move/algo/predicate.hpp>
Header <boost/move/algo/unique.hpp>
Header <boost/move/algorithm.hpp>
Header <boost/move/core.hpp>
Header <boost/move/default_delete.hpp>
Header <boost/move/iterator.hpp>
Header <boost/move/make_unique.hpp>
Header <boost/move/algo/move.hpp>
Header <boost/move/move.hpp>
Header <boost/move/traits.hpp>
Header <boost/move/unique_ptr.hpp>
Header <boost/move/utility.hpp>
Header <boost/move/utility_core.hpp>
[Important] Important

To be able to use containers of movable-only values in C++03 mode you will need to use containers supporting move semantics, like Boost.Container containers

Boost.Move has been tested in the following compilers/platforms:

  • Visual C++ >= 7.1.
  • GCC >= 4.1.
[Warning] Warning

GCC < 4.3 and MSVC < 9.0 are deprecated and will be removed in the next version.


PrevUpHomeNext