sequence
fills the range [first, last)
with a sequence of numbers.
For each iterator i
in the range [first, last)
, this version of sequence
performs the assignment *i = init + (i - first)
.
The algorithm's execution is parallelized as determined by exec
.
- Parameters
-
exec | The execution policy to use for parallelization. |
first | The beginning of the sequence. |
last | The end of the sequence. |
init | The first value of the sequence of numbers. |
- Template Parameters
-
DerivedPolicy | The name of the derived execution policy. |
ForwardIterator | is a model of Forward Iterator, and ForwardIterator is mutable, and if x and y are objects of ForwardIterator's value_type , then x + y is defined, and if T is ForwardIterator's value_type , then T(0) is defined. |
T | is a model of Assignable, and T is convertible to ForwardIterator's value_type . |
The following code snippet demonstrates how to use sequence
to fill a range with a sequence of numbers starting from the value 1 using the thrust::host
execution policy for parallelization:
...
const int N = 10;
int A[N];
- Note
- Unlike the similar C++ STL function
std::iota
, sequence
offers no guarantee on order of execution.
- See also
- https://en.cppreference.com/w/cpp/algorithm/iota