| 39 | /// \see unique_copy() |
| 40 | template<class InputIterator, class BinaryPredicate> |
| 41 | inline InputIterator unique(InputIterator first, |
| 42 | InputIterator last, |
| 43 | BinaryPredicate op, |
| 44 | command_queue &queue = system::default_queue()) |
| 45 | { |
| 46 | BOOST_STATIC_ASSERT(is_device_iterator<InputIterator>::value); |
| 47 | typedef typename std::iterator_traits<InputIterator>::value_type value_type; |
| 48 | |
| 49 | vector<value_type> temp(first, last, queue); |
| 50 | |
| 51 | return ::boost::compute::unique_copy( |
| 52 | temp.begin(), temp.end(), first, op, queue |
| 53 | ); |
| 54 | } |
| 55 | |
| 56 | /// \overload |
| 57 | template<class InputIterator> |