| 369 | |
| 370 | template <class ForwardIt1, class ForwardIt2, class T> |
| 371 | sycl::event remove_copy(sycl::queue &q, util::allocation_group &scratch_allocations, |
| 372 | ForwardIt1 first, ForwardIt1 last, ForwardIt2 d_first, |
| 373 | const T &value, std::size_t *num_elements_copied = nullptr, |
| 374 | const std::vector<sycl::event> &deps = {}) { |
| 375 | auto pred = [value](auto x){return !(x == value);}; |
| 376 | return copy_if(q, scratch_allocations, first, last, d_first, pred, |
| 377 | num_elements_copied, deps); |
| 378 | } |
| 379 | |
| 380 | template <class ForwardIt, class T> |
| 381 | sycl::event remove(sycl::queue &q, util::allocation_group &scratch_allocations, |