| 30 | /// \see upper_bound() |
| 31 | template<class InputIterator, class T> |
| 32 | inline InputIterator |
| 33 | lower_bound(InputIterator first, |
| 34 | InputIterator last, |
| 35 | const T &value, |
| 36 | command_queue &queue = system::default_queue()) |
| 37 | { |
| 38 | BOOST_STATIC_ASSERT(is_device_iterator<InputIterator>::value); |
| 39 | using ::boost::compute::_1; |
| 40 | |
| 41 | InputIterator position = |
| 42 | detail::binary_find(first, last, _1 >= value, queue); |
| 43 | |
| 44 | return position; |
| 45 | } |
| 46 | |
| 47 | } // end compute namespace |
| 48 | } // end boost namespace |