Functions |
| template<typename ForwardIterator , typename T > |
| void | thrust::replace (ForwardIterator first, ForwardIterator last, const T &old_value, const T &new_value) |
| template<typename ForwardIterator , typename Predicate , typename T > |
| void | thrust::replace_if (ForwardIterator first, ForwardIterator last, Predicate pred, const T &new_value) |
| template<typename ForwardIterator , typename InputIterator , typename Predicate , typename T > |
| void | thrust::replace_if (ForwardIterator first, ForwardIterator last, InputIterator stencil, Predicate pred, const T &new_value) |
| template<typename InputIterator , typename OutputIterator , typename T > |
| OutputIterator | thrust::replace_copy (InputIterator first, InputIterator last, OutputIterator result, const T &old_value, const T &new_value) |
| template<typename InputIterator , typename OutputIterator , typename Predicate , typename T > |
| OutputIterator | thrust::replace_copy_if (InputIterator first, InputIterator last, OutputIterator result, Predicate pred, const T &new_value) |
| template<typename InputIterator1 , typename InputIterator2 , typename OutputIterator , typename Predicate , typename T > |
| OutputIterator | thrust::replace_copy_if (InputIterator1 first, InputIterator1 last, InputIterator2 stencil, OutputIterator result, Predicate pred, const T &new_value) |
template<typename InputIterator , typename OutputIterator , typename T >
| OutputIterator thrust::replace_copy |
( |
InputIterator |
first, |
|
|
InputIterator |
last, |
|
|
OutputIterator |
result, |
|
|
const T & |
old_value, |
|
|
const T & |
new_value |
|
) |
| |
replace_copy copies elements from the range [first, last) to the range [result, result + (last-first)), except that any element equal to old_value is not copied; new_value is copied instead.
More precisely, for every integer n such that 0 <= n < last-first, replace_copy performs the assignment *(result+n) = new_value if *(first+n) == old_value, and *(result+n) = *(first+n) otherwise.
- Parameters:
-
| first | The beginning of the sequence to copy from. |
| last | The end of the sequence to copy from. |
| result | The beginning of the sequence to copy to. |
| old_value | The value to replace. |
| new_value | The replacement value for which *i == old_value evaluates to true. |
- Returns:
result + (last-first)
- Template Parameters:
-
- See also:
- http://www.sgi.com/tech/stl/replace_copy.html
-
copy
-
replace
-
replace_if
-
replace_copy_if
template<typename InputIterator , typename OutputIterator , typename Predicate , typename T >
| OutputIterator thrust::replace_copy_if |
( |
InputIterator |
first, |
|
|
InputIterator |
last, |
|
|
OutputIterator |
result, |
|
|
Predicate |
pred, |
|
|
const T & |
new_value |
|
) |
| |
replace_copy_if copies elements from the range [first, last) to the range [result, result + (last-first)), except that any element for which pred is true is not copied; new_value is copied instead.
More precisely, for every integer n such that 0 <= n < last-first, replace_copy_if performs the assignment *(result+n) = new_value if pred(*(first+n)), and *(result+n) = *(first+n) otherwise.
- Parameters:
-
| first | The beginning of the sequence to copy from. |
| last | The end of the sequence to copy from. |
| result | The beginning of the sequence to copy to. |
| pred | The predicate to test on every value of the range [first,last). |
| new_value | The replacement value to assign pred(*i) evaluates to true. |
- Returns:
result + (last-first)
- Template Parameters:
-
| InputIterator | is a model of Input Iterator, and InputIterator's value_type is convertible to Predicate's argument_type. |
| OutputIterator | is a model of Output Iterator. |
| Predicate | is a model of Predicate. |
| T | is a model of Assignable, and T is convertible to OutputIterator's value_type. |
- See also:
- http://www.sgi.com/tech/stl/replace_copy_if.html
-
replace
-
replace_if
-
replace_copy
template<typename InputIterator1 , typename InputIterator2 , typename OutputIterator , typename Predicate , typename T >
| OutputIterator thrust::replace_copy_if |
( |
InputIterator1 |
first, |
|
|
InputIterator1 |
last, |
|
|
InputIterator2 |
stencil, |
|
|
OutputIterator |
result, |
|
|
Predicate |
pred, |
|
|
const T & |
new_value |
|
) |
| |
This version of replace_copy_if copies elements from the range [first, last) to the range [result, result + (last-first)), except that any element whose corresponding stencil element causes pred to be true is not copied; new_value is copied instead.
More precisely, for every integer n such that 0 <= n < last-first, replace_copy_if performs the assignment *(result+n) = new_value if pred(*(stencil+n)), and *(result+n) = *(first+n) otherwise.
- Parameters:
-
| first | The beginning of the sequence to copy from. |
| last | The end of the sequence to copy from. |
| stencil | The beginning of the stencil sequence. |
| result | The beginning of the sequence to copy to. |
| pred | The predicate to test on every value of the range [stencil, stencil + (last - first)). |
| new_value | The replacement value to assign when pred(*s) evaluates to true. |
- Returns:
result + (last-first)
- Template Parameters:
-
| InputIterator1 | is a model of Input Iterator. |
| InputIterator2 | is a model of Input Iterator and InputIterator2's value_type is convertible to Predicate's argument_type. |
| OutputIterator | is a model of Output Iterator. |
| Predicate | is a model of Predicate. |
| T | is a model of Assignable, and T is convertible to OutputIterator's value_type. |
- See also:
replace_copy
-
replace_if
template<typename ForwardIterator , typename Predicate , typename T >
| void thrust::replace_if |
( |
ForwardIterator |
first, |
|
|
ForwardIterator |
last, |
|
|
Predicate |
pred, |
|
|
const T & |
new_value |
|
) |
| |
replace_if replaces every element in the range [first, last) for which pred returns true with new_value. That is: for every iterator i, if pred(*i) is true then it performs the assignment *i = new_value.
- Parameters:
-
| first | The beginning of the sequence of interest. |
| last | The end of the sequence of interest. |
| pred | The predicate to test on every value of the range [first,last). |
| new_value | The new value to replace elements which pred(*i) evaluates to true. |
- Template Parameters:
-
| ForwardIterator | is a model of Forward Iterator, ForwardIterator is mutable, and ForwardIterator's value_type is convertible to Predicate's argument_type. |
| Predicate | is a model of Predicate. |
| T | is a model of Assignable, and T is convertible to ForwardIterator's value_type. |
The following code snippet demonstrates how to use replace_if to replace a device_vector's negative elements with 0.
- See also:
- http://www.sgi.com/tech/stl/replace_if.html
-
replace
-
replace_copy
-
replace_copy_if
template<typename ForwardIterator , typename InputIterator , typename Predicate , typename T >
| void thrust::replace_if |
( |
ForwardIterator |
first, |
|
|
ForwardIterator |
last, |
|
|
InputIterator |
stencil, |
|
|
Predicate |
pred, |
|
|
const T & |
new_value |
|
) |
| |
replace_if replaces every element in the range [first, last) for which pred(*s) returns true with new_value. That is: for every iterator i in the range [first, last), and s in the range [stencil, stencil + (last - first)), if pred(*s) is true then it performs the assignment *i = new_value.
- Parameters:
-
| first | The beginning of the sequence of interest. |
| last | The end of the sequence of interest. |
| stencil | The beginning of the stencil sequence. |
| pred | The predicate to test on every value of the range [first,last). |
| new_value | The new value to replace elements which pred(*i) evaluates to true. |
- Template Parameters:
-
| ForwardIterator | is a model of Forward Iterator, and ForwardIterator is mutable. |
| InputIterator | is a model of Input Iterator, and InputIterator's value_type is convertible to Predicate's argument_type. |
| Predicate | is a model of Predicate. |
| T | is a model of Assignable, and T is convertible to ForwardIterator's value_type. |
The following code snippet demonstrates how to use replace_if to replace a device_vector's element with 0 when its corresponding stencil element is less than zero.
- See also:
- http://www.sgi.com/tech/stl/replace_if.html
-
replace
-
replace_copy
-
replace_copy_if