Skip to content
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

Implement P2441R2 views::join_with #2619

Merged
merged 15 commits into from
Jun 20, 2022
Merged

Conversation

cpplearner
Copy link
Contributor

This implements P2441R2 views::join_with.

Fixes #2538.

I need suggestions on test. This view depends on the category (input/forward/bidirectional), commonness, and element type of three ranges (outer, inner, pattern). Currently I simply copy the instantiation_test function from P0896R4_views_join, but it might be desirable to also test non-bidirectional_range or non-common_range patterns.

@cpplearner cpplearner requested a review from a team as a code owner March 28, 2022 08:38
stl/inc/ranges Outdated Show resolved Hide resolved
stl/inc/ranges Outdated Show resolved Hide resolved
stl/inc/ranges Outdated Show resolved Hide resolved
stl/inc/ranges Outdated Show resolved Hide resolved
stl/inc/ranges Outdated Show resolved Hide resolved
cpplearner and others added 2 commits March 29, 2022 00:51
Co-authored-by: Michael Schellenberger Costa <[email protected]>
Co-authored-by: Michael Schellenberger Costa <[email protected]>
@StephanTLavavej StephanTLavavej added ranges C++20/23 ranges cxx23 C++23 feature labels Mar 28, 2022
Co-authored-by: Michael Schellenberger Costa <[email protected]>
@StephanTLavavej

This comment was marked as resolved.

@cpplearner

This comment was marked as resolved.

Copy link
Contributor

@miscco miscco left a comment

Choose a reason for hiding this comment

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

I have some question about the use of _Throw_bad_variant_access whether this is a valid use case here.

I would like to get some feedback on that

stl/inc/iterator Outdated Show resolved Hide resolved
stl/inc/iterator Outdated Show resolved Hide resolved
stl/inc/iterator Show resolved Hide resolved
stl/inc/ranges Outdated Show resolved Hide resolved
stl/inc/ranges Outdated Show resolved Hide resolved
stl/inc/ranges Outdated Show resolved Hide resolved
stl/inc/ranges Outdated Show resolved Hide resolved
stl/inc/ranges Outdated Show resolved Hide resolved
stl/inc/ranges Outdated Show resolved Hide resolved
@CaseyCarter CaseyCarter self-assigned this Mar 30, 2022
stl/inc/ranges Outdated Show resolved Hide resolved
stl/inc/iterator Show resolved Hide resolved
stl/inc/iterator Show resolved Hide resolved
stl/inc/ranges Outdated Show resolved Hide resolved
stl/inc/ranges Outdated Show resolved Hide resolved
stl/inc/ranges Outdated Show resolved Hide resolved
stl/inc/ranges Outdated Show resolved Hide resolved
stl/inc/ranges Outdated Show resolved Hide resolved
stl/inc/ranges Outdated Show resolved Hide resolved
tests/std/tests/P2441R2_views_join_with/test.cpp Outdated Show resolved Hide resolved
@StephanTLavavej

This comment was marked as resolved.

@StephanTLavavej

This comment was marked as resolved.

tests/std/tests/P2441R2_views_join_with/test.cpp Outdated Show resolved Hide resolved
tests/std/tests/P2441R2_views_join_with/test.cpp Outdated Show resolved Hide resolved
stl/inc/ranges Outdated Show resolved Hide resolved
@StephanTLavavej

This comment was marked as resolved.

@StephanTLavavej
Copy link
Member

I've pushed a merge with main to resolve trivial adjacent-add conflicts in yvals_core.h and tests/std/test.lst.

@StephanTLavavej StephanTLavavej self-assigned this Jun 19, 2022
@StephanTLavavej
Copy link
Member

I'm speculatively mirroring this to the MSVC-internal repo. Further changes can be pushed, but please notify me.

stl/inc/iterator Outdated Show resolved Hide resolved
stl/inc/ranges Outdated Show resolved Hide resolved
stl/inc/ranges Outdated Show resolved Hide resolved
stl/inc/ranges Outdated Show resolved Hide resolved
@CaseyCarter CaseyCarter removed their assignment Jun 19, 2022
@StephanTLavavej StephanTLavavej merged commit 34c9a73 into microsoft:main Jun 20, 2022
@StephanTLavavej
Copy link
Member

Thanks for implementing this C++23 ranges feature! ✅ 😻 🎉

@cpplearner cpplearner deleted the join_with branch June 27, 2022 11:29
fsb4000 pushed a commit to fsb4000/STL that referenced this pull request Aug 13, 2022
Co-authored-by: Michael Schellenberger Costa <[email protected]>
Co-authored-by: Stephan T. Lavavej <[email protected]>
Co-authored-by: Casey Carter <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cxx23 C++23 feature ranges C++20/23 ranges
Projects
None yet
Development

Successfully merging this pull request may close these issues.

P2441R2 views::join_with
4 participants