Skip to content

Commit 427a98f

Browse files
committed
Implement new properties via inheritance
Signed-off-by: John Pennycook <[email protected]>
1 parent 7e05778 commit 427a98f

File tree

1 file changed

+5
-20
lines changed

1 file changed

+5
-20
lines changed

sycl/include/sycl/ext/oneapi/experimental/reduction_properties.hpp

Lines changed: 5 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -19,34 +19,19 @@ namespace ext {
1919
namespace oneapi {
2020
namespace experimental {
2121

22-
struct deterministic_key {
22+
struct deterministic_key
23+
: detail::compile_time_property_key<detail::PropKind::Deterministic> {
2324
using value_t = property_value<deterministic_key>;
2425
};
2526
inline constexpr deterministic_key::value_t deterministic;
2627

27-
struct initialize_to_identity_key {
28+
struct initialize_to_identity_key
29+
: detail::compile_time_property_key<
30+
detail::PropKind::InitializeToIdentity> {
2831
using value_t = property_value<initialize_to_identity_key>;
2932
};
3033
inline constexpr initialize_to_identity_key::value_t initialize_to_identity;
3134

32-
template <> struct is_property_key<deterministic_key> : std::true_type {};
33-
template <>
34-
struct is_property_key<initialize_to_identity_key> : std::true_type {};
35-
36-
namespace detail {
37-
38-
template <> struct IsCompileTimeProperty<deterministic_key> : std::true_type {};
39-
template <>
40-
struct IsCompileTimeProperty<initialize_to_identity_key> : std::true_type {};
41-
42-
template <> struct PropertyToKind<deterministic_key> {
43-
static constexpr PropKind Kind = PropKind::Deterministic;
44-
};
45-
template <> struct PropertyToKind<initialize_to_identity_key> {
46-
static constexpr PropKind Kind = PropKind::InitializeToIdentity;
47-
};
48-
49-
} // namespace detail
5035
} // namespace experimental
5136
} // namespace oneapi
5237
} // namespace ext

0 commit comments

Comments
 (0)