Skip to content

Comments

Flow Graph deduction guides improvements, support for newly added body types#1734

Open
kboyarinov wants to merge 13 commits intomasterfrom
dev/kboyarinov/fg-deduction-improvements
Open

Flow Graph deduction guides improvements, support for newly added body types#1734
kboyarinov wants to merge 13 commits intomasterfrom
dev/kboyarinov/fg-deduction-improvements

Conversation

@kboyarinov
Copy link
Contributor

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).

  • tests extensions

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

  • bug fix - change that fixes an issue
  • new feature - change that adds functionality
  • tests - change in tests
  • infrastructure - change in infrastructure and CI
  • documentation - documentation update

Tests

  • added - required for new features and some bug fixes
  • not needed

Documentation

  • updated in # - add PR number
  • needs to be updated
  • not needed

Breaks backward compatibility

  • Yes
  • No
  • Unknown

Notify the following users

List users with @ to send notifications

Other information

@kboyarinov kboyarinov added this to the 2022.3.0 milestone May 20, 2025
@kboyarinov kboyarinov modified the milestones: 2022.3.0, 2022.4.0 Aug 27, 2025
@@ -1,5 +1,5 @@
/*
Copyright (c) 2005-2024 Intel Corporation
Copyright (c) 2005-2025 Intel Corporation
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You need to fix up the copyrights for UXL.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed


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;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
vossmjp previously approved these changes Feb 10, 2026
Copy link
Contributor

@vossmjp vossmjp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You might consider changing the alias names as suggested, or not. It's up to you. Otherwise this looks good to me.

@kboyarinov kboyarinov changed the title Flow Graph deduction guides simplification + support for newly added body types Flow Graph deduction guides improvements, support for newly added body types Feb 23, 2026
@kboyarinov kboyarinov requested a review from vossmjp February 23, 2026 16:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants