[libc++][ranges] Implement `ranges::stride_view`.
Implement ranges::stride_view in libc++. Migrating to this GitHub from Phabricator (https://reviews.llvm.org/D156924).
Closes #105198
Thank you all for the feedback on this work. I am really excited to get to participate. As I said, I have committed small amounts of code in the past but this is my first attempt at doing a significant amount of implementation. I have already learned a ton and look forward to learning more!
I just used a fixup! commit to add some additional code. I followed the new best practices and I hope that I did it correctly. Please let me know if I did not follow the instructions properly!
I know how busy you all must be with the transition to GitHub. I am going to continue to work on writing tests and look forward to any feedback you have!
Removed the WIP tag (and added an amend fixup commit to accomplish the same thing with in the git realm). I can't wait to hear how I can improve the implementation!!
Will
@JMazurkiewicz Thank you for your incredibly helpful comments. I have a few things to do at $dayjob but I will address them as soon as possible. Thank you again for taking the time to comment.
Hello again and sorry to bother. I would love to make any changes to the implementation that you think are necessary. I have really enjoyed the opportunity to implement stride_view and I have already started on slide_view!
Hello again and sorry to bother. I would love to make any changes to the implementation that you think are necessary. I have really enjoyed the opportunity to implement stride_view and I have already started on slide_view!
Please update the status page and any papers: libcxx/docs/Status/RangesViews.csv Also this PR needs a lot more tests.
Hello again and sorry to bother. I would love to make any changes to the implementation that you think are necessary. I have really enjoyed the opportunity to implement stride_view and I have already started on slide_view!
Please update the status page and any papers: libcxx/docs/Status/RangesViews.csv Also this PR needs a lot more tests.
Thank you for the feedback! Are you asking for an update to remove you as an implementer? Refer to the this URL for the PR? I believe that the paper listed in the CSV is the right one? I am sorry if I am missing something obvious.
Thank you for the feedback! Are you asking for an update to remove you as an implementer? Refer to the this URL for the PR? I believe that the paper listed in the CSV is the right one? I am sorry if I am missing something obvious.
Please change the URL to point to this PR, also mark which papers this PR implements as complete. You probably need to add the paper to the release notes, when this PR is approved.
:white_check_mark: With the latest revision this PR passed the C/C++ code formatter.
I continue to work on making the testing code better (I am learning from other testing code, too) but I believe that I have addressed all the feedback so far! I actually addressed it all last week but realized that I did not "rerequest review". I hope you didn't get the impression that I was slacking.
Please let me know if there are other comments!
Please let me know if there are other comments!
Just let me know if/how to proceed.
I hope that everyone is doing well. I am more than willing to continue to work on this PR if there is interest.
Will
I hope that everyone is doing well. I am more than willing to continue to work on this PR if there is interest.
Since this is a feature we haven't implemented yet, I really like to see this completed!
I see there are several merge conflicts and the CI is red. Could you resolve that?
I hope that everyone is doing well. I am more than willing to continue to work on this PR if there is interest.
Since this is a feature we haven't implemented yet, I really like to see this completed!
I see there are several merge conflicts and the CI is red. Could you resolve that?
Sorry. Because I was waiting on feedback I let the code drift from main. I have rebased and addressed merge conflicts. I have talked to @var-const about reviews for this PR and I know that he is very busy so I do not want to pressure him at all.
Will
@mordante I have CI/CD green but see that a conflict has slipped in again. I will update that ASAP while we wait for another round of review from @var-const !
There are a few
.verify.cpptests in this change, but none (or almost all) don't actually test compiler diagnostics.They should probably be made
.compile.cpptests, since they just contain static asserts.
Thank you for the comments! I made those .verify.cpp tests based on @var-const 's feedback in https://github.com/llvm/llvm-project/pull/65200#discussion_r1387338157 . I am happy to make them either, but I am just confused about best practices.
@hawkinsw Is this PR ready for another round of review? I'd really like to finish this one since it has been around for a while.
@hawkinsw Is this PR ready for another round of review? I'd really like to finish this one since it has been around for a while.
We are getting there. I did some pretty good refactoring of the test cases last night. I should have more time to work on it tonight. I am going as fast as I can. Sorry! Will
@hawkinsw thanks so much for your hard work!
@hawkinsw thanks so much for your hard work!
Wow, you have no idea what that means to me, @splicer! Thank you!!
Is this still relevant?
Is this still relevant?
Yes!! I just got a little busy with $DAYJOB. Sorry!
Just FYI: Things at my $DAYJOB have calmed down and I will be starting to work on this patch again. Sorry for the delay!
Seems like that we can update the branch now to see whether CI becomes green.
Will do!!
On Mon, Nov 3, 2025 at 9:33 PM A. Jiang @.***> wrote:
frederick-vs-ja left a comment (llvm/llvm-project#65200) https://github.com/llvm/llvm-project/pull/65200#issuecomment-3483470563
Seems like that we can update the branch now to see whether CI becomes green.
— Reply to this email directly, view it on GitHub https://github.com/llvm/llvm-project/pull/65200#issuecomment-3483470563, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCP2CQUMI2AXEXXEST2A4D33AGA7AVCNFSM6AAAAAA4IM5WHCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTIOBTGQ3TANJWGM . You are receiving this because you were mentioned.Message ID: @.***>
Thank you for the feedback! I appreciate it. I’m trying to whip it back into shape and I know there has been progress in the meantime.
On Sunday, December 21, 2025, A. Jiang @.***> wrote:
@.**** commented on this pull request.
In libcxx/modules/std/ranges.inc https://github.com/llvm/llvm-project/pull/65200#discussion_r2637976505:
+#endif // _LIBCPP_STD_VER >= 23
+#if 0
⬇️ Suggested change
-#endif // _LIBCPP_STD_VER >= 23
-#if 0
We should remove these lines as adjacent_view has been implemented. Also, adjacent_transform_view has been implemented too.
— Reply to this email directly, view it on GitHub https://github.com/llvm/llvm-project/pull/65200#pullrequestreview-3601841165, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCP2CV325IB2WL7WTMMPT34C3KIDAVCNFSM6AAAAAA4IM5WHCVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZTMMBRHA2DCMJWGU . You are receiving this because you were mentioned.Message ID: @.***>