cpp/memory/uninitialized copy

@1@ Copies elements from the range to an uninitialized memory area beginning at  as if by

where is:

@@If an exception is thrown during the initialization, the objects already constructed are destroyed in an unspecified order.

@2@ Same as, but executed according to.

Return value
Iterator to the element past the last element copied.

Complexity
Linear in the distance between and.