thrust::uninitialized_fill
Defined in thrust/uninitialized_fill.h
- 
template<typename ForwardIterator, typename T>
 void thrust::uninitialized_fill(ForwardIterator first, ForwardIterator last, const T &x)
- In - thrust, the function- thrust::device_newallocates memory for an object and then creates an object at that location by calling a constructor. Occasionally, however, it is useful to separate those two operations. If each iterator in the range- [first, last)points to uninitialized memory, then- uninitialized_fillcreates copies of- xin that range. That is, for each iterator- iin the range- [first, last),- uninitialized_fillcreates a copy of- xin the location pointed to- iby calling- ForwardIterator's- value_type'scopy constructor.- The following code snippet demonstrates how to use - uninitialized_fillto initialize a range of uninitialized memory.- #include <thrust/uninitialized_fill.h> #include <thrust/device_malloc.h> struct Int { __host__ __device__ Int(int x) : val(x) {} int val; }; ... const int N = 137; Int val(46); thrust::device_ptr<Int> array = thrust::device_malloc<Int>(N); thrust::uninitialized_fill(array, array + N, val); // Int x = array[i]; // x.val == 46 for all 0 <= i < N - See also - uninitialized_fill_n- See also - fill- See also - uninitialized_copy- See also - device_new- See also - device_malloc- Parameters
- first – The first element of the range of interest. 
- last – The last element of the range of interest. 
- x – The value to use as the exemplar of the copy constructor. 
 
- Template Parameters
- ForwardIterator – is a model of Forward Iterator, - ForwardIteratoris mutable, and- ForwardIterator's- value_typehas a constructor that takes a single argument of type- T.