|
20 | 20 |
|
21 | 21 | namespace cuco { |
22 | 22 | /** |
23 | | - * @brief A strong type wrapper used to denote the empty key sentinel. |
24 | | - * |
25 | | - * @tparam T Type of the key values |
| 23 | + * @brief A strong type wrapper `cuco::empty_key<Key>` used to denote the empty key sentinel. |
26 | 24 | */ |
27 | | -template <typename T> |
28 | | -struct empty_key : public cuco::detail::strong_type<T> { |
29 | | - /** |
30 | | - * @brief Constructs an empty key sentinel with the given `v`. |
31 | | - * |
32 | | - * @param v The empty key sentinel value |
33 | | - */ |
34 | | - __host__ __device__ explicit constexpr empty_key(T v) : cuco::detail::strong_type<T>(v) {} |
35 | | -}; |
| 25 | +CUCO_DEFINE_TEMPLATE_STRONG_TYPE(empty_key); |
36 | 26 |
|
37 | 27 | /** |
38 | | - * @brief A strong type wrapper used to denote the empty value sentinel. |
39 | | - * |
40 | | - * @tparam T Type of the mapped values |
| 28 | + * @brief A strong type wrapper `cuco::empty_value<T>` used to denote the empty value sentinel. |
41 | 29 | */ |
42 | | -template <typename T> |
43 | | -struct empty_value : public cuco::detail::strong_type<T> { |
44 | | - /** |
45 | | - * @brief Constructs an empty value sentinel with the given `v`. |
46 | | - * |
47 | | - * @param v The empty value sentinel value |
48 | | - */ |
49 | | - __host__ __device__ explicit constexpr empty_value(T v) : cuco::detail::strong_type<T>(v) {} |
50 | | -}; |
| 30 | +CUCO_DEFINE_TEMPLATE_STRONG_TYPE(empty_value); |
51 | 31 |
|
52 | 32 | /** |
53 | | - * @brief A strong type wrapper used to denote the erased key sentinel. |
54 | | - * |
55 | | - * @tparam T Type of the key values |
| 33 | + * @brief A strong type wrapper `cuco::erased_key<Key>` used to denote the erased key sentinel. |
56 | 34 | */ |
57 | | -template <typename T> |
58 | | -struct erased_key : public cuco::detail::strong_type<T> { |
59 | | - /** |
60 | | - * @brief Constructs an erased key sentinel with the given `v`. |
61 | | - * |
62 | | - * @param v The erased key sentinel value |
63 | | - */ |
64 | | - __host__ __device__ explicit constexpr erased_key(T v) : cuco::detail::strong_type<T>(v) {} |
65 | | -}; |
| 35 | +CUCO_DEFINE_TEMPLATE_STRONG_TYPE(erased_key); |
66 | 36 | } // namespace cuco |
0 commit comments