24 #include <thrust/detail/config.h> 25 #include <thrust/detail/execution_policy.h> 28 THRUST_NAMESPACE_BEGIN
100 template<
typename DerivedPolicy,
typename ForwardIterator,
typename LessThanComparable>
102 ForwardIterator
lower_bound(
const thrust::detail::execution_policy_base<DerivedPolicy> &exec,
103 ForwardIterator first,
104 ForwardIterator last,
105 const LessThanComparable &value);
152 template <
class ForwardIterator,
class LessThanComparable>
154 ForwardIterator last,
155 const LessThanComparable& value);
211 template<
typename DerivedPolicy,
typename ForwardIterator,
typename T,
typename StrictWeakOrdering>
213 ForwardIterator
lower_bound(
const thrust::detail::execution_policy_base<DerivedPolicy> &exec,
214 ForwardIterator first,
215 ForwardIterator last,
217 StrictWeakOrdering comp);
268 template <
class ForwardIterator,
class T,
class StrictWeakOrdering>
270 ForwardIterator last,
272 StrictWeakOrdering comp);
325 template<
typename DerivedPolicy,
typename ForwardIterator,
typename LessThanComparable>
327 ForwardIterator
upper_bound(
const thrust::detail::execution_policy_base<DerivedPolicy> &exec,
328 ForwardIterator first,
329 ForwardIterator last,
330 const LessThanComparable &value);
378 template <
class ForwardIterator,
class LessThanComparable>
380 ForwardIterator last,
381 const LessThanComparable& value);
437 template<
typename DerivedPolicy,
typename ForwardIterator,
typename T,
typename StrictWeakOrdering>
439 ForwardIterator
upper_bound(
const thrust::detail::execution_policy_base<DerivedPolicy> &exec,
440 ForwardIterator first,
441 ForwardIterator last,
443 StrictWeakOrdering comp);
493 template <
class ForwardIterator,
class T,
class StrictWeakOrdering>
495 ForwardIterator last,
497 StrictWeakOrdering comp);
549 template <
typename DerivedPolicy,
typename ForwardIterator,
typename LessThanComparable>
551 bool binary_search(
const thrust::detail::execution_policy_base<DerivedPolicy> &exec,
552 ForwardIterator first,
553 ForwardIterator last,
554 const LessThanComparable& value);
601 template <
class ForwardIterator,
class LessThanComparable>
603 ForwardIterator last,
604 const LessThanComparable& value);
659 template <
typename DerivedPolicy,
typename ForwardIterator,
typename T,
typename StrictWeakOrdering>
661 bool binary_search(
const thrust::detail::execution_policy_base<DerivedPolicy> &exec,
662 ForwardIterator first,
663 ForwardIterator last,
665 StrictWeakOrdering comp);
715 template <
class ForwardIterator,
class T,
class StrictWeakOrdering>
717 ForwardIterator last,
719 StrictWeakOrdering comp);
784 template <
typename DerivedPolicy,
typename ForwardIterator,
typename LessThanComparable>
787 equal_range(
const thrust::detail::execution_policy_base<DerivedPolicy> &exec,
788 ForwardIterator first,
789 ForwardIterator last,
790 const LessThanComparable& value);
850 template <
class ForwardIterator,
class LessThanComparable>
853 ForwardIterator last,
854 const LessThanComparable& value);
923 template <
typename DerivedPolicy,
typename ForwardIterator,
typename T,
typename StrictWeakOrdering>
926 equal_range(
const thrust::detail::execution_policy_base<DerivedPolicy> &exec,
927 ForwardIterator first,
928 ForwardIterator last,
930 StrictWeakOrdering comp);
994 template <
class ForwardIterator,
class T,
class StrictWeakOrdering>
997 ForwardIterator last,
999 StrictWeakOrdering comp);
1077 template <
typename DerivedPolicy,
typename ForwardIterator,
typename InputIterator,
typename OutputIterator>
1079 OutputIterator
lower_bound(
const thrust::detail::execution_policy_base<DerivedPolicy> &exec,
1080 ForwardIterator first,
1081 ForwardIterator last,
1082 InputIterator values_first,
1083 InputIterator values_last,
1084 OutputIterator result);
1144 template <
class ForwardIterator,
class InputIterator,
class OutputIterator>
1146 ForwardIterator last,
1147 InputIterator values_first,
1148 InputIterator values_last,
1149 OutputIterator result);
1219 template <
typename DerivedPolicy,
typename ForwardIterator,
typename InputIterator,
typename OutputIterator,
typename StrictWeakOrdering>
1221 OutputIterator
lower_bound(
const thrust::detail::execution_policy_base<DerivedPolicy> &exec,
1222 ForwardIterator first,
1223 ForwardIterator last,
1224 InputIterator values_first,
1225 InputIterator values_last,
1226 OutputIterator result,
1227 StrictWeakOrdering comp);
1292 template <
class ForwardIterator,
class InputIterator,
class OutputIterator,
class StrictWeakOrdering>
1294 ForwardIterator last,
1295 InputIterator values_first,
1296 InputIterator values_last,
1297 OutputIterator result,
1298 StrictWeakOrdering comp);
1365 template <
typename DerivedPolicy,
typename ForwardIterator,
typename InputIterator,
typename OutputIterator>
1367 OutputIterator
upper_bound(
const thrust::detail::execution_policy_base<DerivedPolicy> &exec,
1368 ForwardIterator first,
1369 ForwardIterator last,
1370 InputIterator values_first,
1371 InputIterator values_last,
1372 OutputIterator result);
1432 template <
class ForwardIterator,
class InputIterator,
class OutputIterator>
1434 ForwardIterator last,
1435 InputIterator values_first,
1436 InputIterator values_last,
1437 OutputIterator result);
1509 template <
typename DerivedPolicy,
typename ForwardIterator,
typename InputIterator,
typename OutputIterator,
typename StrictWeakOrdering>
1511 OutputIterator
upper_bound(
const thrust::detail::execution_policy_base<DerivedPolicy> &exec,
1512 ForwardIterator first,
1513 ForwardIterator last,
1514 InputIterator values_first,
1515 InputIterator values_last,
1516 OutputIterator result,
1517 StrictWeakOrdering comp);
1582 template <
class ForwardIterator,
class InputIterator,
class OutputIterator,
class StrictWeakOrdering>
1584 ForwardIterator last,
1585 InputIterator values_first,
1586 InputIterator values_last,
1587 OutputIterator result,
1588 StrictWeakOrdering comp);
1656 template <
typename DerivedPolicy,
typename ForwardIterator,
typename InputIterator,
typename OutputIterator>
1658 OutputIterator
binary_search(
const thrust::detail::execution_policy_base<DerivedPolicy> &exec,
1659 ForwardIterator first,
1660 ForwardIterator last,
1661 InputIterator values_first,
1662 InputIterator values_last,
1663 OutputIterator result);
1724 template <
class ForwardIterator,
class InputIterator,
class OutputIterator>
1726 ForwardIterator last,
1727 InputIterator values_first,
1728 InputIterator values_last,
1729 OutputIterator result);
1802 template <
typename DerivedPolicy,
typename ForwardIterator,
typename InputIterator,
typename OutputIterator,
typename StrictWeakOrdering>
1804 OutputIterator
binary_search(
const thrust::detail::execution_policy_base<DerivedPolicy> &exec,
1805 ForwardIterator first,
1806 ForwardIterator last,
1807 InputIterator values_first,
1808 InputIterator values_last,
1809 OutputIterator result,
1810 StrictWeakOrdering comp);
1876 template <
class ForwardIterator,
class InputIterator,
class OutputIterator,
class StrictWeakOrdering>
1878 ForwardIterator last,
1879 InputIterator values_first,
1880 InputIterator values_last,
1881 OutputIterator result,
1882 StrictWeakOrdering comp);
1896 THRUST_NAMESPACE_END
1898 #include <thrust/detail/binary_search.inl> thrust::pair< ForwardIterator, ForwardIterator > equal_range(ForwardIterator first, ForwardIterator last, const T &value, StrictWeakOrdering comp)
OutputIterator upper_bound(ForwardIterator first, ForwardIterator last, InputIterator values_first, InputIterator values_last, OutputIterator result, StrictWeakOrdering comp)
OutputIterator lower_bound(ForwardIterator first, ForwardIterator last, InputIterator values_first, InputIterator values_last, OutputIterator result, StrictWeakOrdering comp)
A type encapsulating a heterogeneous pair of elements.
OutputIterator binary_search(ForwardIterator first, ForwardIterator last, InputIterator values_first, InputIterator values_last, OutputIterator result, StrictWeakOrdering comp)