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).
*(first + N) = g()
N
[0, last - first)
See the related sample program.