Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 17 additions & 6 deletions adoc/chapters/programming_interface.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -11964,6 +11964,9 @@ It can be constructed from integers.
The SYCL [code]#range# class template provides the common by-value semantics
(see <<sec:byval-semantics>>).

Every instantiation of the SYCL [code]#range# class template is a trivially
copyable type.

A synopsis of the SYCL [code]#range# class is provided below.
The constructors, member functions and non-member functions of the SYCL
[code]#range# class are listed in <<table.constructors.range>>,
Expand Down Expand Up @@ -12211,6 +12214,9 @@ which the kernel is to be executed, and the range of each work group.
The SYCL [code]#nd_range# class template provides the common by-value semantics
(see <<sec:byval-semantics>>).

Every instantiation of the SYCL [code]#nd_range# class template is a trivially
copyable type.

A synopsis of the SYCL [code]#nd_range# class is provided below.
The constructors and member functions of the SYCL [code]#nd_range# class are
listed in <<table.constructors.ndrange>> and <<table.members.ndrange>>
Expand Down Expand Up @@ -12295,6 +12301,9 @@ as a [code]#size_t#.
The SYCL [code]#id# class template provides the common by-value semantics (see
<<sec:byval-semantics>>).

Every instantiation of the SYCL [code]#id# class template is a trivially
copyable type.

A synopsis of the SYCL [code]#id# class is provided below.
The constructors, member functions and non-member functions of the SYCL
[code]#id# class are listed in <<table.constructors.id>>, <<table.members.id>>
Expand Down Expand Up @@ -17318,12 +17327,8 @@ allowable types for a kernel parameter:
- [code]#unsampled_image_accessor# when templated with
[code]#image_target::device#;
- [code]#sampled_image_accessor# when templated with
[code]#image_target::device#;
- [code]#stream#;
- [code]#id#;
- [code]#range#;
- [code]#marray<T, NumElements># when [code]#T# is <<device-copyable>>;
- [code]#vec<T, NumElements>#.
[code]#image_target::device#; and
- [code]#stream#.

* An array of element types [code]#T# is a legal parameter type if [code]#T# is
a legal parameter type.
Expand Down Expand Up @@ -17900,6 +17905,9 @@ The element type parameter, [code]#DataT#, must be the cv-unqualified version of
one of the following: one of the built-in scalar data types listed in
<<subsec:scalartypes>>, [code]#half#, or [code]#sycl::byte#.

Every instantiation of the SYCL [code]#vec# class template is a trivially
copyable type.

An instance of the SYCL [code]#vec# class template can be implicitly converted
to an instance of the data type when the number of elements is [code]#1# in
order to allow single element vectors and scalars to be convertible with each
Expand Down Expand Up @@ -19627,6 +19635,9 @@ the [code]#std::size_t# type.
The element type parameter, [code]#DataT#, must be a _numeric type_ as it is
defined by {cpp} standard.

If [code]#DataT# is a trivially copyable type, then [code]#marray<DataT,
NumElements># is a trivially copyable type.

An instance of the [code]#marray# class template can also be implicitly
converted to an instance of the data type when the number of elements is
[code]#1# in order to allow single element arrays and scalars to be convertible
Expand Down