|
10 | 10 | // 1. Add a new enumerator to
|
11 | 11 | // `sycl::ext::oneapi::experimental::detail::PropKind` representing the new
|
12 | 12 | // property. Increment
|
13 |
| -// `sycl::ext::oneapi::experimental::detail::PropKind::PropKindSize` |
14 |
| -// 2. Define property key class with `value_t` that must be `property_value` |
15 |
| -// with the first template argument being the property class itself. The |
16 |
| -// name of the key class must be the property name suffixed by `_key`, i.e. |
17 |
| -// for a property `foo` the class should be named `foo_key`. |
| 13 | +// `sycl::ext::oneapi::experimental::detail::PropKind::PropKindSize`. |
| 14 | +// 2. Define property key class inherited from |
| 15 | +// `detail::compile_time_property_key` with `value_t` that must be |
| 16 | +// `property_value` with the first template argument being the property |
| 17 | +// class itself. The name of the key class must be the property name |
| 18 | +// suffixed by `_key`, i.e. for a property `foo` the class should be named |
| 19 | +// `foo_key`. |
18 | 20 | // 3. Add an `inline constexpr` variable in the same namespace as the property
|
19 | 21 | // key. The variable should have the same type as `value_t` of the property
|
20 | 22 | // class, e.g. for a property `foo`, there should be a definition
|
21 | 23 | // `inline constexpr foo_key::value_t foo`.
|
22 |
| -// 4. Specialize `sycl::ext::oneapi::experimental::is_property_key` and |
23 |
| -// `sycl::ext::oneapi::experimental::is_property_key_of` for the property |
24 |
| -// key class. |
25 |
| -// 5. Specialize `sycl::ext::oneapi::experimental::detail::PropertyToKind` for |
26 |
| -// the new property key class. The specialization should have a `Kind` |
27 |
| -// member with the value equal to the enumerator added in 1. |
28 |
| -// 6. Specialize |
29 |
| -// `sycl::ext::oneapi::experimental::detail::IsCompileTimeProperty` for the |
30 |
| -// new property key class. This specialization should derive from |
31 |
| -// `std::true_type`. |
32 |
| -// 7. If the property needs an LLVM IR attribute, specialize |
| 24 | +// 4. Specialize `sycl::ext::oneapi::experimental::is_property_key_of` for the |
| 25 | +// property key class. |
| 26 | +// 5. If the property needs an LLVM IR attribute, specialize |
33 | 27 | // `sycl::ext::oneapi::experimental::detail::PropertyMetaInfo` for the new
|
34 | 28 | // `value_t` of the property key class. The specialization must have a
|
35 | 29 | // `static constexpr const char *name` member with a value equal to the
|
|
0 commit comments