Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards


Function template adl_move_swap_ranges



// In header: <boost/move/adl_move_swap.hpp>

template<typename ForwardIt1, typename ForwardIt2> 
  ForwardIt2 adl_move_swap_ranges(ForwardIt1 first1, ForwardIt1 last1, 
                                  ForwardIt2 first2);


Exchanges elements between range [first1, last1) and another range starting at first2 using boost::adl_move_swap.

Parameters: first1, last1 - the first range of elements to swap first2 - beginning of the second range of elements to swap

Type requirements:

  • ForwardIt1, ForwardIt2 must meet the requirements of ForwardIterator.

  • The types of dereferenced ForwardIt1 and ForwardIt2 must meet the requirements of Swappable

Return value: Iterator to the element past the last element exchanged in the range beginning with first2.