Skip to content

Commit a6f440b

Browse files
detail::key helper
1 parent 0c80e0e commit a6f440b

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

sycl/include/sycl/ext/oneapi/properties/new_properties.hpp

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,9 @@ inline constexpr bool properties_are_sorted = []() constexpr {
176176
return true;
177177
}
178178
}();
179+
180+
template <typename property_key_t>
181+
inline constexpr property_key_tag<property_key_t> key{};
179182
} // namespace detail
180183

181184
// Empty property list.
@@ -268,20 +271,20 @@ class __SYCL_EBO properties<
268271
template <typename property_key_t>
269272
static constexpr auto get_property() -> std::enable_if_t<
270273
std::is_empty_v<decltype(std::declval<properties>().get_property_impl(
271-
detail::property_key_tag<property_key_t>{}))>,
274+
detail::key<property_key_t>))>,
272275
decltype(std::declval<properties>().get_property_impl(
273-
detail::property_key_tag<property_key_t>{}))> {
276+
detail::key<property_key_t>))> {
274277
return decltype(std::declval<properties>().get_property_impl(
275-
detail::property_key_tag<property_key_t>{})){};
278+
detail::key<property_key_t>)){};
276279
}
277280

278281
template <typename property_key_t>
279282
constexpr auto get_property() const -> std::enable_if_t<
280283
!std::is_empty_v<decltype(std::declval<properties>().get_property_impl(
281-
detail::property_key_tag<property_key_t>{}))>,
284+
detail::key<property_key_t>))>,
282285
decltype(std::declval<properties>().get_property_impl(
283-
detail::property_key_tag<property_key_t>{}))> {
284-
return get_property_impl(detail::property_key_tag<property_key_t>{});
286+
detail::key<property_key_t>))> {
287+
return get_property_impl(detail::key<property_key_t>);
285288
}
286289

287290
// TODO: Do we need separate `static` overload if we decide to keep this

0 commit comments

Comments
 (0)