...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::uninitialized_move — defined(BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE)
// In header: <boost/move/algo/move.hpp> template<typename I, typename F> F uninitialized_move(I f, I l, F r);
Effects:
for (; first != last; ++result, ++first) new (static_cast<void*>(&*result)) typename iterator_traits<ForwardIterator>::value_type(boost::move(*first));
Returns: result