18 namespace experimental {
20 template <
typename T,
typename PropertyListT>
class annotated_arg;
21 template <
typename T,
typename PropertyListT>
class annotated_ptr;
62 template <read_write_mode_enum Mode>
65 std::integral_constant<read_write_mode_enum, Mode>>;
96 template <read_write_mode_enum Mode>
117 template <
typename T,
typename PropertyListT>
121 template <
typename T,
typename PropertyListT>
125 template <
typename T,
typename PropertyListT>
129 template <
typename T,
typename PropertyListT>
133 template <
typename T,
typename PropertyListT>
137 template <
typename T,
typename PropertyListT>
141 template <
typename T,
typename PropertyListT>
145 template <
typename T,
typename PropertyListT>
149 template <
typename T,
typename PropertyListT>
153 template <
typename T,
typename PropertyListT>
157 template <
typename T,
typename PropertyListT>
161 template <
typename T,
typename PropertyListT>
165 template <
typename T,
typename PropertyListT>
169 template <
typename T,
typename PropertyListT>
173 template <
typename T,
typename PropertyListT>
177 template <
typename T,
typename PropertyListT>
181 template <
typename T,
typename PropertyListT>
185 template <
typename T,
typename PropertyListT>
189 template <
typename T,
typename PropertyListT>
193 template <
typename T,
typename PropertyListT>
244 static constexpr
const char *name =
"sycl-register-map";
245 static constexpr std::nullptr_t value =
nullptr;
248 static constexpr
const char *name =
"sycl-conduit";
249 static constexpr std::nullptr_t value =
nullptr;
252 static constexpr
const char *name =
"sycl-stable";
253 static constexpr std::nullptr_t value =
nullptr;
257 static constexpr
const char *name =
"sycl-buffer-location";
258 static constexpr
int value = N;
261 static constexpr
const char *name =
"sycl-awidth";
262 static constexpr
int value = W;
265 static constexpr
const char *name =
"sycl-dwidth";
266 static constexpr
int value = W;
269 static constexpr
const char *name =
"sycl-latency";
270 static constexpr
int value = N;
273 static constexpr
const char *name =
"sycl-maxburst";
274 static constexpr
int value = N;
276 template <
int Enable>
278 static constexpr
const char *name =
"sycl-wait-request";
279 static constexpr
int value = Enable;
281 template <read_write_mode_enum Mode>
283 static constexpr
const char *name =
"sycl-read-write-mode";
290 template <
typename T,
typename PropertyValueT>
293 template <
typename T,
int N>
297 template <
typename T,
int W>
301 template <
typename T,
int W>
305 template <
typename T,
int N>
309 template <
typename T, read_write_mode_enum Mode>
313 template <
typename T,
int N>
317 template <
typename T,
int Enable>
323 template <
typename T>
325 template <
typename T>
327 template <
typename T>
330 template <
typename T,
typename... Props>
333 template <
typename T,
typename Prop,
typename... Props>
336 check_property_list<T, Props...>, std::false_type> {
338 "Property is invalid for the given type.");
353 template <
typename T,
typename PropertyListT>
366 static constexpr
const char *name =
"sycl-alignment";
367 static constexpr
int value = N;