| 24 | /// [\p first, \p last). |
| 25 | template<class OutputIterator, class Generator> |
| 26 | inline void generate(OutputIterator first, |
| 27 | OutputIterator last, |
| 28 | Generator generator, |
| 29 | command_queue &queue = system::default_queue()) |
| 30 | { |
| 31 | size_t count = detail::iterator_range_size(first, last); |
| 32 | if(count == 0){ |
| 33 | return; |
| 34 | } |
| 35 | |
| 36 | ::boost::compute::copy( |
| 37 | ::boost::compute::make_function_input_iterator(generator, |
| 38 | first.get_index()), |
| 39 | ::boost::compute::make_function_input_iterator(generator, |
| 40 | last.get_index()), |
| 41 | first, |
| 42 | queue |
| 43 | ); |
| 44 | } |
| 45 | |
| 46 | } // end compute namespace |
| 47 | } // end boost namespace |