oneTBB
oneTBB copied to clipboard
Use of std::invoke to run the body in algorithms and graph nodes
Description
Change the execution of the body in TBB algorithms and Flow Graph nodes to use std::invoke instead of operator().
It allows to pass pointers to non-static member functions and non-static member objects as a body.
Affected components:
parallel_forparallel_reduceparallel_deterministic_reduceparallel_for_eachparallel_scanparallel_pipelinefunction_nodemultifunction_nodeasync_nodesequencer_nodejoin_nodewithkey_matchingpolicy
Fixes # - issue number(s) if exists
- [ ] - git commit message contains an appropriate signed-off-by string (see CONTRIBUTING.md for details)
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
- [x] new feature - change that adds functionality
- [ ] tests - change in tests
- [ ] infrastructure - change in infrastructure and CI
- [ ] documentation - documentation update
Tests
- [x] added - required for new features and some bug fixes
- [ ] not needed
Documentation
- [ ] updated in # - add PR number
- [x] needs to be updated
- [ ] not needed
Breaks backward compatibility
- [ ] Yes
- [x] No
- [ ] Unknown
Notify the following users
List users with @ to send notifications