C++ Algorithm generate_n()
C++ Algorithm generate_n() function is used to assign the values which is generated by a function object to a specified number of elements in a range and returns to the one past the last assigned value position.
The generator function is defined by the user and it is called successively for assigning the numbers.
Syntax
Parameter
first: A forward iterator pointing the position of the first element in the range to which values are to be assigned.
gen: A function object with no arguments that is used to generate the values to be assigned to each of the elements in the range.
n: Number of elements to be assigned by generator function. It may be signed or unsigned integer type.
Return value
None
Complexity
Complexity is linear in n. It calls gen and performs an assignment for each element.
Data races
The first n object in the range pointed by first are modified where each object is modified exactly once.
Exception safety
This function throws an exception if any of gen, element assignments or the operation on an iterator throws an exception.
Please note that invalid parameters cause an undefined behavior.
Example 1
Let’s see the simple example to demonstrate the use of generate_n():
Output:
1,2,4,8,16,32,64,128,256,512,
Example 2
Let’s see another simple example:
Output:
Vector v1 is ( 1804289383 846930886 1681692777 0 0 ). Deque deq1 is ( 1714636915 1957747793 424238335 719885386 0 ).
Example 3
Let’s see another simple example:
Output:
1 2 3 4 5 6 7 8 9 10
Example 4
Let’s see another simple example:
Output:
myarray contains: 1 2 3 4 5 6 7 8 9