thrust::replace
Defined in thrust/replace.h
-
template<typename DerivedPolicy, typename ForwardIterator, typename T>
void thrust::replace(const thrust::detail::execution_policy_base<DerivedPolicy> &exec, ForwardIterator first, ForwardIterator last, const T &old_value, const T &new_value) replace
replaces every element in the range [first, last) equal toold_value
withnew_value
. That is: for every iteratori
, if*i == old_value
then it performs theassignment *i = new_value
.The algorithm’s execution is parallelized as determined by
exec
.The following code snippet demonstrates how to use
replace
to replace a value of interest in adevice_vector
with another using thethrust::device
execution policy for parallelization:#include <thrust/replace.h> #include <thrust/device_vector.h> #include <thrust/execution_policy.h> ... thrust::device_vector<int> A(4); A[0] = 1; A[1] = 2; A[2] = 3; A[3] = 1; thrust::replace(thrust::device, A.begin(), A.end(), 1, 99); // A contains [99, 2, 3, 99]
See also
replace_if
See also
replace_copy
See also
replace_copy_if
- Parameters
exec – The execution policy to use for parallelization.
first – The beginning of the sequence of interest.
last – The end of the sequence of interest.
old_value – The value to replace.
new_value – The new value to replace
old_value
.
- Template Parameters
DerivedPolicy – The name of the derived execution policy.
ForwardIterator – is a model of Forward Iterator, and
ForwardIterator
is mutable.T – is a model of Assignable,
T
is a model of EqualityComparable, objects ofT
may be compared for equality with objects ofForwardIterator's
value_type
, andT
is convertible toForwardIterator's
value_type
.