-
Notifications
You must be signed in to change notification settings - Fork 769
[SYCL][Doc] Add property list extension spec #4203
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
After looking at the concrete example, I have the feeling this could be simplified according to #4280 (comment) |
@keryell I don't quite follow what you're suggesting could be simplified, after reading through. Can you please expand slightly? |
sycl/doc/extensions/PropertyList/SYCL_EXT_ONEAPI_property_list.asciidoc
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@keryell I don't quite follow what you're suggesting could be simplified, after reading through. Can you please expand slightly?
There is a complex detail description of property implementation and a layer of simplifying _v
.
I am wondering whether we cannot come with a simpler API not describing the property type but just focusing on _v
+ some handling constexpr
functions.
Then, since we no longer care about what is foo
and just focus on foo_v
, why no renaming foo_v
just foo
?
// This property has one integer non-type parameter. | ||
struct baz { | ||
template<int K> | ||
using value_t = property_value<baz, std::integral_constant<int, K> >; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why not directly
using value_t = property_value<baz, std::integral_constant<int, K> >; | |
using value_t = property_value<baz, K>; |
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
C++ doesn't (yet) support universal template template arguments and therefore we need template arguments to be always types. See also #4280 (comment)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Too bad.
sycl/doc/extensions/PropertyList/SYCL_EXT_ONEAPI_property_list.asciidoc
Outdated
Show resolved
Hide resolved
Do you agree this question was resolved as part of the discussion on #4280? Summary: we need the type for |
Co-authored-by: Mike Kinsner <[email protected]> Co-authored-by: Ronan Keryell <[email protected]>
Yes, I am good. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Interesting extension for SYCL
No description provided.