cpp/algorithm/ranges/rotate copy

@1@ Copies the elements from the source range, to the destination range beginning at in such a way, that the element  becomes the first element of the destination range and  becomes the last element. The result is that the destination range contains a left rotated copy of the source range. @@ The behavior is undefined if either or  is not a valid range, or the source and destination ranges overlap.

@2@ Same as, but uses as the source range, as if using  as  and  as.

Return value
, where.

Complexity
Linear: exactly assignments.

Possible implementation
See also the implementations in libstdc++ and MSVC STL.