2828#include < cuco/utility/traits.hpp>
2929
3030#include < cuda/std/atomic>
31+ #include < cuda/std/functional>
3132#include < cuda/stream_ref>
32- #include < thrust/functional.h>
3333
3434#if defined(CUCO_HAS_CUDA_BARRIER)
3535#include < cuda/barrier>
@@ -89,7 +89,7 @@ template <class Key,
8989 class T ,
9090 class Extent = cuco::extent<std::size_t >,
9191 cuda::thread_scope Scope = cuda::thread_scope_device,
92- class KeyEqual = thrust ::equal_to<Key>,
92+ class KeyEqual = cuda::std ::equal_to<Key>,
9393 class ProbingScheme = cuco::linear_probing<4 , // CG size
9494 cuco::default_hash_function<Key>>,
9595 class Allocator = cuco::cuda_allocator<cuco::pair<Key, T>>,
@@ -1392,7 +1392,7 @@ class static_map {
13921392 */
13931393 template <typename InputIt,
13941394 typename Hash = cuco::default_hash_function<key_type>,
1395- typename KeyEqual = thrust ::equal_to<key_type>>
1395+ typename KeyEqual = cuda::std ::equal_to<key_type>>
13961396 void insert (InputIt first,
13971397 InputIt last,
13981398 Hash hash = Hash{},
@@ -1426,7 +1426,7 @@ class static_map {
14261426 typename StencilIt,
14271427 typename Predicate,
14281428 typename Hash = cuco::default_hash_function<key_type>,
1429- typename KeyEqual = thrust ::equal_to<key_type>>
1429+ typename KeyEqual = cuda::std ::equal_to<key_type>>
14301430 void insert_if (InputIt first,
14311431 InputIt last,
14321432 StencilIt stencil,
@@ -1464,7 +1464,7 @@ class static_map {
14641464 */
14651465 template <typename InputIt,
14661466 typename Hash = cuco::default_hash_function<key_type>,
1467- typename KeyEqual = thrust ::equal_to<key_type>>
1467+ typename KeyEqual = cuda::std ::equal_to<key_type>>
14681468 void erase (InputIt first,
14691469 InputIt last,
14701470 Hash hash = Hash{},
@@ -1493,7 +1493,7 @@ class static_map {
14931493 template <typename InputIt,
14941494 typename OutputIt,
14951495 typename Hash = cuco::default_hash_function<key_type>,
1496- typename KeyEqual = thrust ::equal_to<key_type>>
1496+ typename KeyEqual = cuda::std ::equal_to<key_type>>
14971497 void find (InputIt first,
14981498 InputIt last,
14991499 OutputIt output_begin,
@@ -1548,7 +1548,7 @@ class static_map {
15481548 template <typename InputIt,
15491549 typename OutputIt,
15501550 typename Hash = cuco::default_hash_function<key_type>,
1551- typename KeyEqual = thrust ::equal_to<key_type>>
1551+ typename KeyEqual = cuda::std ::equal_to<key_type>>
15521552 void contains (InputIt first,
15531553 InputIt last,
15541554 OutputIt output_begin,
@@ -2070,7 +2070,7 @@ class static_map {
20702070 * @return `true` if the insert was successful, `false` otherwise.
20712071 */
20722072 template <typename Hash = cuco::default_hash_function<key_type>,
2073- typename KeyEqual = thrust ::equal_to<key_type>>
2073+ typename KeyEqual = cuda::std ::equal_to<key_type>>
20742074 __device__ bool insert (value_type const & insert_pair,
20752075 Hash hash = Hash{},
20762076 KeyEqual key_equal = KeyEqual{}) noexcept ;
@@ -2101,7 +2101,7 @@ class static_map {
21012101 * either `true` if the insert was successful, `false` otherwise.
21022102 */
21032103 template <typename Hash = cuco::default_hash_function<key_type>,
2104- typename KeyEqual = thrust ::equal_to<key_type>>
2104+ typename KeyEqual = cuda::std ::equal_to<key_type>>
21052105 __device__ thrust::pair<iterator, bool > insert_and_find (
21062106 value_type const & insert_pair, Hash hash = Hash{}, KeyEqual key_equal = KeyEqual{}) noexcept ;
21072107
@@ -2126,7 +2126,7 @@ class static_map {
21262126 */
21272127 template <typename CG,
21282128 typename Hash = cuco::default_hash_function<key_type>,
2129- typename KeyEqual = thrust ::equal_to<key_type>>
2129+ typename KeyEqual = cuda::std ::equal_to<key_type>>
21302130 __device__ bool insert (CG const & g,
21312131 value_type const & insert_pair,
21322132 Hash hash = Hash{},
@@ -2147,7 +2147,7 @@ class static_map {
21472147 * @return `true` if the erasure was successful, `false` otherwise.
21482148 */
21492149 template <typename Hash = cuco::default_hash_function<key_type>,
2150- typename KeyEqual = thrust ::equal_to<key_type>>
2150+ typename KeyEqual = cuda::std ::equal_to<key_type>>
21512151 __device__ bool erase (key_type const & k,
21522152 Hash hash = Hash{},
21532153 KeyEqual key_equal = KeyEqual{}) noexcept ;
@@ -2170,7 +2170,7 @@ class static_map {
21702170 */
21712171 template <typename CG,
21722172 typename Hash = cuco::default_hash_function<key_type>,
2173- typename KeyEqual = thrust ::equal_to<key_type>>
2173+ typename KeyEqual = cuda::std ::equal_to<key_type>>
21742174 __device__ bool erase (CG const & g,
21752175 key_type const & k,
21762176 Hash hash = Hash{},
@@ -2337,7 +2337,7 @@ class static_map {
23372337 * containing `k` was inserted
23382338 */
23392339 template <typename Hash = cuco::default_hash_function<key_type>,
2340- typename KeyEqual = thrust ::equal_to<key_type>>
2340+ typename KeyEqual = cuda::std ::equal_to<key_type>>
23412341 __device__ iterator find (Key const & k,
23422342 Hash hash = Hash{},
23432343 KeyEqual key_equal = KeyEqual{}) noexcept ;
@@ -2357,7 +2357,7 @@ class static_map {
23572357 * containing `k` was inserted
23582358 */
23592359 template <typename Hash = cuco::default_hash_function<key_type>,
2360- typename KeyEqual = thrust ::equal_to<key_type>>
2360+ typename KeyEqual = cuda::std ::equal_to<key_type>>
23612361 __device__ const_iterator find (Key const & k,
23622362 Hash hash = Hash{},
23632363 KeyEqual key_equal = KeyEqual{}) const noexcept ;
@@ -2384,7 +2384,7 @@ class static_map {
23842384 */
23852385 template <typename CG,
23862386 typename Hash = cuco::default_hash_function<key_type>,
2387- typename KeyEqual = thrust ::equal_to<key_type>>
2387+ typename KeyEqual = cuda::std ::equal_to<key_type>>
23882388 __device__ iterator
23892389 find (CG g, Key const & k, Hash hash = Hash{}, KeyEqual key_equal = KeyEqual{}) noexcept ;
23902390
@@ -2410,7 +2410,7 @@ class static_map {
24102410 */
24112411 template <typename CG,
24122412 typename Hash = cuco::default_hash_function<key_type>,
2413- typename KeyEqual = thrust ::equal_to<key_type>>
2413+ typename KeyEqual = cuda::std ::equal_to<key_type>>
24142414 __device__ const_iterator
24152415 find (CG g, Key const & k, Hash hash = Hash{}, KeyEqual key_equal = KeyEqual{}) const noexcept ;
24162416
@@ -2439,7 +2439,7 @@ class static_map {
24392439 */
24402440 template <typename ProbeKey,
24412441 typename Hash = cuco::default_hash_function<key_type>,
2442- typename KeyEqual = thrust ::equal_to<key_type>>
2442+ typename KeyEqual = cuda::std ::equal_to<key_type>>
24432443 __device__ bool contains (ProbeKey const & k,
24442444 Hash hash = Hash{},
24452445 KeyEqual key_equal = KeyEqual{}) const noexcept ;
@@ -2474,7 +2474,7 @@ class static_map {
24742474 template <typename CG,
24752475 typename ProbeKey,
24762476 typename Hash = cuco::default_hash_function<key_type>,
2477- typename KeyEqual = thrust ::equal_to<key_type>>
2477+ typename KeyEqual = cuda::std ::equal_to<key_type>>
24782478 __device__ std::enable_if_t <std::is_invocable_v<KeyEqual, ProbeKey, Key>, bool > contains (
24792479 CG const & g,
24802480 ProbeKey const & k,
0 commit comments