template<class OutIt, class Pred, class Gen> void generate_n(OutIt first, Dist n, Gen g);
The template function evaluates *(first + N) = g() once for each N in the range [0, n).
*(first + N) = g()
N
[0, n)
See the related sample program.