Function template adl_move_swap_ranges
boost::adl_move_swap_ranges
 Synopsis
template<typename ForwardIt1, typename ForwardIt2> 
  ForwardIt2 adl_move_swap_ranges(ForwardIt1 first1, ForwardIt1 last1, 
                                  ForwardIt2 first2);Description
Обмен элементами между диапазоном [first1, last1) и другим диапазоном, начиная с первого2, с использованием boost::adl_move_swap.
Параметры: первый1, последний1 - первый диапазон элементов для замены первого2 - начало второго диапазона элементов для замены
Типовые требования:
- ForwardIt1, ForwardIt2 должен соответствовать требованиям ForwardIterator. 
- Типы исключенных ForwardIt1 и ForwardIt2 должны соответствовать требованиям Swappable 
Возвратное значение: Итератор к элементу, прошедшему последний элемент, обмениваемый в диапазоне, начинающемся с первого2.