generate

template<class FwdIt, class Gen>
    void generate(FwdIt first, FwdIt last, Gen g);

The template function evaluates *(first + N) = g() once for each N in the range [0, last - first).

See the related sample program.