| 40 | /// \p predicate returns \c true to the range beginning at \p result. |
| 41 | template<class InputIterator, class OutputIterator, class Predicate> |
| 42 | inline OutputIterator copy_if(InputIterator first, |
| 43 | InputIterator last, |
| 44 | OutputIterator result, |
| 45 | Predicate predicate, |
| 46 | command_queue &queue = system::default_queue()) |
| 47 | { |
| 48 | typedef typename std::iterator_traits<InputIterator>::value_type T; |
| 49 | |
| 50 | return ::boost::compute::transform_if( |
| 51 | first, last, result, identity<T>(), predicate, queue |
| 52 | ); |
| 53 | } |
| 54 | |
| 55 | } // end compute namespace |
| 56 | } // end boost namespace |