Skip to content

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

@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! 😻)

Also, this test can assume that concepts are available.
@StephanTLavavej

This comment has been minimized.

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.

Thanks! I'll validate and push changes.

@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