cpp/memory/uninitialized move n

@1@ Moves elements from a range beginning at  to an uninitialized memory area beginning at  as if by

@@ If an exception is thrown during the initialization, some objects in the source range are left in a valid but unspecified state, and the objects already constructed are destroyed in an unspecified order.

@2@ Same as, but executed according to.

Return value
A pair whose first element is an iterator to the element past the last element moved in the source range, and whose second element is an iterator to the element past the last element moved in the destination range.

Complexity
Linear in.