A generator is a function used to produce values. In particular, it can potentially return a different value each time it is invoked. An example is the random number generator. The random number generator could be used to initialize a vector of 20 integers as follows:
vectora(20); generate_n(a.begin(), 20, rand);