Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@miscco
Copy link
Contributor

@miscco miscco commented Apr 28, 2022

This implements the second part of P2442 chunk_view

As always input ranges are a beauty to behold but...

Note I am not really sure about the access control of outer-iterator::value_type It is depicted as a struct, but the setting kind of implies that we should guard access to its members.

Also can someone explain why we always pass *_Parent so that we need addressof to reclaim the pointer instead of just the pointer.

I tried to be clever with the noexcept specification. I thought I would remember that they need to be integer types or was it just integer-like? I usually assumed that assignment would be noexcept.

Partially fixes #2539

@miscco miscco requested a review from a team as a code owner April 28, 2022 13:45
@CaseyCarter CaseyCarter added ranges C++20/23 ranges cxx23 C++23 feature labels Apr 28, 2022
@miscco miscco force-pushed the views_chunk branch 3 times, most recently from 7e977eb to decb004 Compare April 28, 2022 19:09
@ghost

This comment was marked as resolved.

Copy link
Contributor

@strega-nil-ms strega-nil-ms left a comment

Choose a reason for hiding this comment

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

Reviewed everything but chunk_view<input_range>

Copy link
Contributor

@strega-nil-ms strega-nil-ms left a comment

Choose a reason for hiding this comment

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

Alright, just need to check the tests!

edit: tests look good! I'm approve post CR resolutions

@strega-nil-ms strega-nil-ms removed their assignment May 6, 2022
@StephanTLavavej

This comment was marked as resolved.

@StephanTLavavej StephanTLavavej self-assigned this May 11, 2022
@StephanTLavavej StephanTLavavej removed their assignment May 12, 2022
@StephanTLavavej
Copy link
Member

I've pushed changes to address @CaseyCarter's feedback. I've also pushed an apparently-conflict-free merge with main followed by fixing a stealth merge conflict (as the recent toolset update removed the winsdk matrices).

@StephanTLavavej
Copy link
Member

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

@StephanTLavavej StephanTLavavej changed the title <ranges> Implement P2442 chunk_view <ranges> Implement P2442R1 chunk_view May 16, 2022
StephanTLavavej added a commit to StephanTLavavej/STL that referenced this pull request May 16, 2022
@StephanTLavavej
Copy link
Member

Merged with main:

  • Adjacent adds in <ranges>, matched Standard order of chunk_view then slide_view.
  • Fused comments in <yvals_core.h>.
  • Adjacent adds in tests/std/test.lst, preserved sorted order.

@StephanTLavavej StephanTLavavej merged commit 5795df3 into microsoft:main May 17, 2022
@StephanTLavavej
Copy link
Member

Thanks for implementing the second chunk of this C++23 ranges feature!

😹 🎉 😻

@miscco miscco deleted the views_chunk branch May 17, 2022 06:51
fsb4000 pushed a commit to fsb4000/STL that referenced this pull request Aug 13, 2022
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.

P2442R1 Windowing Range Adaptors: views::chunk, views::slide

9 participants