thrust::constant_iterator
Defined in thrust/iterator/constant_iterator.h
- 
template<typename Value, typename Incrementable = use_default, typename System = use_default>
 class constant_iterator
- constant_iteratoris an iterator which represents a pointer into a range of constant values. This iterator is useful for creating a range filled with the same value without explicitly storing it in memory. Using- constant_iteratorsaves both memory capacity and bandwidth.- The following code snippet demonstrates how to create a - constant_iteratorwhose- value_typeis- intand whose value is- 10.- #include <thrust/iterator/constant_iterator.h> thrust::constant_iterator<int> iter(10); *iter; // returns 10 iter[0]; // returns 10 iter[1]; // returns 10 iter[13]; // returns 10 // and so on... - This next example demonstrates how to use a - constant_iteratorwith the- thrust::transformfunction to increment all elements of a sequence by the same value. We will create a temporary- constant_iteratorwith the function- make_constant_iteratorfunction in order to avoid explicitly specifying its type:- #include <thrust/iterator/constant_iterator.h> #include <thrust/transform.h> #include <thrust/functional.h> #include <thrust/device_vector.h> int main() { thrust::device_vector<int> data(4); data[0] = 3; data[1] = 7; data[2] = 2; data[3] = 5; // add 10 to all values in data thrust::transform(data.begin(), data.end(), thrust::make_constant_iterator(10), data.begin(), thrust::plus<int>()); // data is now [13, 17, 12, 15] return 0; } - See also - make_constant_iterator