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 P0448R4 spanstream #2029

Merged
merged 35 commits into from
Sep 11, 2021
Merged

Conversation

miscco
Copy link
Contributor

@miscco miscco commented Jun 30, 2021

This implements spanstream that was recently voted into C++23

Fixes #1970

@miscco miscco requested a review from a team as a code owner June 30, 2021 13:55
@miscco miscco changed the title Implement spanstream Implement P0448R4 spanstream Jun 30, 2021
@StephanTLavavej StephanTLavavej added the cxx23 C++23 feature label Jun 30, 2021
stl/inc/spanstream Outdated Show resolved Hide resolved
tests/std/tests/P0448R4_spanstream/test.cpp Outdated Show resolved Hide resolved
tests/std/tests/P0448R4_spanstream/test.cpp Show resolved Hide resolved
stl/inc/spanstream Show resolved Hide resolved
stl/inc/spanstream Outdated Show resolved Hide resolved
stl/inc/spanstream Outdated Show resolved Hide resolved
stl/inc/spanstream Outdated Show resolved Hide resolved
stl/inc/spanstream Outdated Show resolved Hide resolved
stl/inc/spanstream Show resolved Hide resolved
tests/std/tests/P0448R4_spanstream/test.cpp Outdated Show resolved Hide resolved
tests/std/tests/P0448R4_spanstream/test.cpp Outdated Show resolved Hide resolved
@StephanTLavavej StephanTLavavej self-assigned this Jul 14, 2021
Copy link
Member

@StephanTLavavej StephanTLavavej left a comment

Choose a reason for hiding this comment

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

Partial review (to be available as a video recording in the near future), I looked at everything except stl/inc/spanstream and P0448R4_spanstream/test.cpp.

stl/CMakeLists.txt Show resolved Hide resolved
stl/inc/yvals_core.h Outdated Show resolved Hide resolved
stl/inc/spanstream Show resolved Hide resolved
tests/std/tests/P0448R4_iosfwd/test.cpp Outdated Show resolved Hide resolved
tests/std/tests/P0448R4_spanstream/test.cpp Outdated Show resolved Hide resolved
tests/std/tests/P0448R4_iosfwd/test.cpp Outdated Show resolved Hide resolved
tests/std/tests/P0448R4_iosfwd/test.cpp Outdated Show resolved Hide resolved
tests/std/tests/P0448R4_iosfwd/test.cpp Outdated Show resolved Hide resolved
stl/inc/spanstream Outdated Show resolved Hide resolved
@StephanTLavavej

This comment has been minimized.

@StephanTLavavej StephanTLavavej removed their assignment Jul 28, 2021
@StephanTLavavej StephanTLavavej self-assigned this Aug 4, 2021
Copy link
Member

@StephanTLavavej StephanTLavavej left a comment

Choose a reason for hiding this comment

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

Video reviewed basic_spanbuf and the recent commits; basic_ispanstream and below, and the new test, remain. (This is a lot of code, thanks for working on it! 😻)

stl/inc/spanstream Outdated Show resolved Hide resolved
stl/inc/spanstream Outdated Show resolved Hide resolved
stl/inc/spanstream Outdated Show resolved Hide resolved
stl/inc/spanstream Outdated Show resolved Hide resolved
stl/inc/spanstream Show resolved Hide resolved
stl/inc/spanstream Outdated Show resolved Hide resolved
stl/inc/spanstream Outdated Show resolved Hide resolved
stl/inc/spanstream Outdated Show resolved Hide resolved
stl/inc/spanstream Outdated Show resolved Hide resolved
@StephanTLavavej

This comment has been minimized.

@StephanTLavavej StephanTLavavej removed their assignment Aug 28, 2021
@miscco

This comment has been minimized.

@StephanTLavavej
Copy link
Member

@miscco I pushed changes to use variable templates in the test as @barcharcraz suggested. It's slightly fewer lines of source code, and avoids emitting function calls (which isn't a big deal in test code, but can make stepping through a bit nicer). I also took this opportunity to rename get_input_array to input_ptr because "1 2 3 4 5" (in both the old and new code) decays from an array to a pointer.

@StephanTLavavej
Copy link
Member

I'm mirroring this to the MSVC-internal repo now. Please notify me if any further changes are pushed.

@StephanTLavavej StephanTLavavej merged commit 5d6a1f2 into microsoft:main Sep 11, 2021
@StephanTLavavej
Copy link
Member

Thanks for continuing to implement a stream of span features! 😹 🚀 🎉

@miscco miscco deleted the spanstream branch September 11, 2021 06:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cxx23 C++23 feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

P0448R4 <spanstream>
6 participants