generate_n
 |
 |
| Category: algorithms |
Component type: function |
Prototype
template <class OutputIterator
class Size
class Generator>
OutputIterator generate_n(OutputIterator first
Size n
Generator gen);
Description
Generate_n assigns the result of invoking gen
a function object
that takes no arguments
to each element in the range [first
first+n). [1] The return value is first + n.
Definition
Defined in the standard header algorithm
and in the nonstandard
backward-compatibility header algo.h.
Requirements on types
-
OutputIterator is a model of Output Iterator.
-
Size is an integral type (either signed or unsigned).
-
Generator is a model of Generator.
-
Generator's result type is convertible to a type in
OutputIterator's set of value types.
Preconditions
-
n >= 0.
-
There is enough space to hold n values. That is
[first
first+n) is a valid range.
Complexity
Linear. Exactly n invocations of gen. [1]
Example
Print 100 random numbers
using the C standard library function rand.
generate_n(ostream_iterator<int>(cout
"\n")
100
rand);
Notes
[1]
The function object gen is invoked n times (once for
each iterator in the range [first
first+n))
as opposed to just
being invoked a single time outside the loop. This distinction is important
because a Generator need not return the same result each time
it is invoked; it is permitted to read from a file
refer to and
modify local state
and so on.
See also
copy
fill
fill_n
generate
iota
Copyright ©
1999 Silicon Graphics
Inc. All Rights Reserved.
TrademarkInformation