| 434 | |
| 435 | template <class ForwardIt, class T> |
| 436 | sycl::event replace(sycl::queue &q, ForwardIt first, ForwardIt last, |
| 437 | const T &old_value, const T &new_value, |
| 438 | const std::vector<sycl::event> &deps = {}) { |
| 439 | if(first == last) |
| 440 | return sycl::event{}; |
| 441 | return for_each(q, first, last,[=](auto& x){ |
| 442 | if(x == old_value) |
| 443 | x = new_value; |
| 444 | }, deps); |
| 445 | } |
| 446 | |
| 447 | template <class ForwardIt, class UnaryPredicate, class T> |
| 448 | sycl::event replace_if(sycl::queue &q, ForwardIt first, ForwardIt last, |