You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[SYCL][Doc] Move properties to experimental namespace (#5410)
These changes move `properties` and property-related APIs into
`sycl::ext::oneapi::experimental`.
Signed-off-by: Steffen Larsen <steffen.larsen@intel.com>
Copy file name to clipboardExpand all lines: sycl/doc/extensions/PropertyList/SYCL_EXT_ONEAPI_properties.asciidoc
+20-23Lines changed: 20 additions & 23 deletions
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,7 @@ The `sycl::property_list` found in SYCL 2020 is used to store properties used in
8
8
9
9
Compile-time-constant properties are an important building block for classes and functions that have a need to propagate compile-time information for semantic and optimization purposes, while runtime properties continue to serve an important role in dynamic parameter specification.
10
10
11
-
This extension introduces `sycl::ext::oneapi::properties`, which is a replacement for `sycl::property_list` that supports the storage and manipulation of compile-time-constant properties in addition to runtime properties.
11
+
This extension introduces `sycl::ext::oneapi::experimental::properties`, which is a replacement for `sycl::property_list` that supports the storage and manipulation of compile-time-constant properties in addition to runtime properties.
12
12
13
13
== Contributors
14
14
Joe Garvey, Intel +
@@ -135,12 +135,12 @@ value to determine which of the extension's APIs the implementation supports.
135
135
136
136
Properties have a value and key type,
137
137
and by convention, these classes are declared in the root of the
138
-
`sycl::ext::oneapi` namespace. For a runtime property the key and value types are the same and the name of the property value
138
+
`sycl::ext::oneapi::experimental` namespace. For a runtime property the key and value types are the same and the name of the property value
139
139
class has no suffix. A runtime property value typically has a constructor
140
140
which takes the value(s) of the properties and member function(s) which return those values.
141
141
142
142
```c++
143
-
namespace sycl::ext::oneapi {
143
+
namespace sycl::ext::oneapi::experimental {
144
144
145
145
// This is a runtime property value with one integer parameter.
146
146
// The name of the property value class is the the name of the property without any suffix.
@@ -151,7 +151,7 @@ struct foo {
151
151
// A runtime property key is an alias to the value type.
152
152
using foo_key = foo;
153
153
154
-
} // namespace oneapi::ext::sycl
154
+
} // namespace experimental::oneapi::ext::sycl
155
155
```
156
156
157
157
For compile-time constant parameters the value type is a template specialization of `property_value`.
@@ -161,7 +161,7 @@ time-constant property can be either types or non-type values.
161
161
The implementation provides a variable with the property value type. The variable has the name of the property without a suffix.
162
162
163
163
```c++
164
-
namespace sycl::ext::oneapi {
164
+
namespace sycl::ext::oneapi::experimental {
165
165
166
166
template<typename...> struct property_value;
167
167
@@ -191,7 +191,7 @@ struct boo_key {
191
191
template<typename... Ts>
192
192
inline constexpr boo_key::value_t<Ts...> boo;
193
193
194
-
} // namespace oneapi::ext::sycl
194
+
} // namespace experimental::oneapi::ext::sycl
195
195
196
196
=== Property traits
197
197
@@ -203,7 +203,7 @@ that inherits from `std::true_type` for each SYCL runtime class that the
203
203
property can be applied to. All have a base case which inherits from `std::false_type`.
This extension adds a new template class, `sycl::ext::oneapi::properties`, which is a property list that can contain compile-time constant properties as well as runtime properties.
353
+
This extension adds a new template class, `sycl::ext::oneapi::experimental::properties`, which is a property list that can contain compile-time constant properties as well as runtime properties.
354
354
355
355
`properties` is a class template, and the properties stored by it influence its type. Two `properties` objects have the same type if and only if they were constructed with the same set of compile-time constant property values and the same set of runtime properties.
356
356
357
357
[NOTE]
358
358
====
359
-
The runtime properties contained in the property list affect the type of `sycl::ext::oneapi::properties`, but their property values do not.
359
+
The runtime properties contained in the property list affect the type of `sycl::ext::oneapi::experimental::properties`, but their property values do not.
360
360
====
361
361
362
362
It is possible at compile-time to determine whether a `properties` object contains a particular (runtime or compile-time constant) property. See the `static constexpr` function `has_property` of the `properties` class.
@@ -376,7 +376,7 @@ That last sentence is not explicitly stated in the core SYCL spec, but it is ass
376
376
The new `properties` class template is as follows:
377
377
378
378
```c++
379
-
namespace sycl::ext::oneapi {
379
+
namespace sycl::ext::oneapi::experimental {
380
380
381
381
template<typename PropertyValuesT>
382
382
class properties {
@@ -401,7 +401,7 @@ class properties {
401
401
static constexpr auto get_property();
402
402
};
403
403
404
-
} // namespace oneapi::ext::sycl
404
+
} // namespace experimental::oneapi::ext::sycl
405
405
```
406
406
407
407
[NOTE]
@@ -456,7 +456,7 @@ Available only if `PropertyKeyT` is the property key class of a compile-time con
456
456
The following trait is added to recognize a `properties`.
The following table describes the new `is_property_list` trait:
@@ -642,7 +642,7 @@ Adding a new compile-time constant property requires implementers to introduce t
642
642
This is an example showing the definition of a compile-time constant property `foo` that takes a single integer parameter. The property key class associated with the property is `foo_key`.
0 commit comments