| 86 | /// \see gather() |
| 87 | template<class InputIterator, class MapIterator, class OutputIterator> |
| 88 | inline void scatter(InputIterator first, |
| 89 | InputIterator last, |
| 90 | MapIterator map, |
| 91 | OutputIterator result, |
| 92 | command_queue &queue = system::default_queue()) |
| 93 | { |
| 94 | BOOST_STATIC_ASSERT(is_device_iterator<InputIterator>::value); |
| 95 | BOOST_STATIC_ASSERT(is_device_iterator<MapIterator>::value); |
| 96 | BOOST_STATIC_ASSERT(is_device_iterator<OutputIterator>::value); |
| 97 | |
| 98 | detail::scatter_kernel<InputIterator, MapIterator, OutputIterator> kernel; |
| 99 | |
| 100 | kernel.set_range(first, last, map, result); |
| 101 | kernel.exec(queue); |
| 102 | } |
| 103 | |
| 104 | } // end compute namespace |
| 105 | } // end boost namespace |