uninitialized_copy

template<class InIt, class FwdIt>
    FwdIt uninitialized_copy(InIt first, InIt last, FwdIt result);

The template function effectively executes:

while (first != last)
    new ((void *)&*result++) T(*first++);

where T is the type of *first.