Make alias input_type protected for join_node#868
Make alias input_type protected for join_node#868kboyarinov merged 4 commits intouxlfoundation:masterfrom
Conversation
|
@dbiswas2808, could you please remove the line related to another PR from this patch and it would be approved and merged. |
b0dd2fb to
05bd4dd
Compare
Done! |
I think making the aliases protected might fix the failures. If you look at the above snippet the |
|
@dbiswas2808, as I understand the testing failure, the problem is the following ( I have simplified a code a bit): Visual Studio compiler for some reason interprets the usage of |
@kboyarinov That is strange indeed I haven't seen that myself before. Any updates on how to fix this or get around this issue? |
| class join_node_FE<reserving, InputTuple, OutputTuple> : public reserving_forwarding_base { | ||
| public: | ||
| private: | ||
| static const int N = std::tuple_size<OutputTuple>::value; |
There was a problem hiding this comment.
Should there be a comment here saying why these are private?
There was a problem hiding this comment.
As discussed above, this parameter is part of the internal implementation details of join_node_FE so it should not be part of oneapi::tbb::join_node public API.
Do you think we really need an extra comment in the code for this?
There was a problem hiding this comment.
🤷 I'm just trying to consider a future reader looking here without much context thinking "Why are N, output_type, input_type, and base_node_type private?" I'm thinking that would be clarified if they saw // These parameters are private because they are part of the internal implementation details of join_node_FE: After all, a join node doesn't have a single input port.
Just a thought.
|
@dbiswas2808, as a simplest way to workaround a VS issue, I would propose to rename the template parameter of |
05bd4dd to
179237c
Compare
@kboyarinov I just Made the suggested change. Hopefully it compiles fine on MSVC. |
|
@kboyarinov I've fixed the msvc compile issue as you suggested in the last commit. LMK if it looks right. |
|
@dbiswas2808, some checks failed - seems like |
|
@kboyarinov I fixed the issue I think. Seems to build on my MacOS system |
kboyarinov
left a comment
There was a problem hiding this comment.
Thanks for the contribution! LGTM!
|
@dbiswas2808, one last request from my side. Could you please add a sign-off string to the commit message? See Contribution.md for details. After that, the PR can be merged to master. |
…de public interface Signed-off-by: Deepanjan Biswas <[email protected]>
Signed-off-by: Deepanjan Biswas <[email protected]>
Signed-off-by: Deepanjan Biswas <[email protected]>
…uilds on macOS Signed-off-by: Deepanjan Biswas <[email protected]>
3e552d6 to
fdf1543
Compare
|
@kboyarinov I just signed off all the commits and f-pushed it. Will need your approval for the pr-builder to start I think |
Currently the public aliases exposed by
flow_graph::join_nodeincludesinput_type. This is a bit confusing sincejoin_nodehas multiple input ports and I believe other nodes(with multiple inputs) don't have the same issue. I have been leveraging substitution failure withinput_ports_typeandinput_typeand similarly foroutput_ports_typeandoutput_typefor implementing a higher level interface for flow_graph. AFAIT onlyjoin_nodebreaks this distinction. Also, havingjoin_nodeexposeinput_typeas a public alias could be confusing to users.