...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
BOOST_MOVABLE_BUT_NOT_COPYABLE(TYPE) BOOST_COPYABLE_AND_MOVABLE(TYPE) BOOST_COPYABLE_AND_MOVABLE_ALT(TYPE) BOOST_RV_REF(TYPE) BOOST_COPY_ASSIGN_REF(TYPE) BOOST_FWD_REF(TYPE)
namespace boost { template<typename T> struct has_nothrow_move; template<typename It> class move_iterator; template<typename C> class back_move_insert_iterator; template<typename C> class front_move_insert_iterator; template<typename C> class move_insert_iterator; template<typename T> struct has_trivial_destructor_after_move; template<typename T> rvalue_reference move(input_reference); template<typename T> output_reference forward(input_reference); template<typename It> move_iterator< It > make_move_iterator(const It &); template<typename C> back_move_insert_iterator< C > back_move_inserter(C &); template<typename C> front_move_insert_iterator< C > front_move_inserter(C &); template<typename C> move_insert_iterator< C > move_inserter(C &, typename C::iterator); template<typename I, typename O> O move(I, I, O); template<typename I, typename O> O move_backward(I, I, O); template<typename I, typename F> F uninitialized_move(I, I, F); template<typename I, typename F> F uninitialized_copy_or_move(I, I, F); template<typename I, typename F> F copy_or_move(I, I, F); }