cpp/algorithm/swap ranges

@1@ Exchanges elements between range and another range starting at. @@ Precondition: the two ranges and  do not overlap, where.

@2@ Same as, but executed according to.

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

Complexity
linear in the distance between and.