Flow Graph deduction guides improvements, support for newly added body types#1734
Flow Graph deduction guides improvements, support for newly added body types#1734kboyarinov wants to merge 13 commits intomasterfrom
Conversation
| @@ -1,5 +1,5 @@ | |||
| /* | |||
| Copyright (c) 2005-2024 Intel Corporation | |||
| Copyright (c) 2005-2025 Intel Corporation | |||
There was a problem hiding this comment.
You need to fix up the copyrights for UXL.
|
|
||
| template <typename Body> | ||
| decltype(decide_on_operator_overload(&Body::operator())) decide_on_callable_type(int); | ||
| using input_type = typename extract_body_types<Body>::input_type; |
There was a problem hiding this comment.
I wonder if input_type and output_type are too general as names here. I know these names are short and make things like line 78 look nice, input_node<output_type<Body>>>. It just strikes me as strange that the thing called input_type works specifically on bodies. Would something like body_input_type and body_output_type be too long, or misleading?
There was a problem hiding this comment.
What do you think of input_type_of<Body> and output_type_of<Body>?
I have applied it to the current PR.
If you think body_input_type and body_output_type is easier to understand, I don't have any objections for using this as well:)
vossmjp
left a comment
There was a problem hiding this comment.
You might consider changing the alias names as suggested, or not. It's up to you. Otherwise this looks good to me.
Description
Add a comprehensive description of proposed changes
Simplification for deduction guides for Flow Graph functional nodes to avoid body types detection twice.
Added support for bodies expressed as pointers to member functions and member objects (supported by std::invoke).
Fixes # - issue number(s) if exists
Type of change
Choose one or multiple, leave empty if none of the other choices apply
Add a respective label(s) to PR if you have permissions
Tests
Documentation
Breaks backward compatibility
Notify the following users
List users with
@to send notificationsOther information