// 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
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.