This is the initial patch to implement ranges in libc++.
Implements parts of:
- P0896R4 One Ranges Proposal
- P1870 forwarding-range is too subtle
- LWG3379 in several library names is misleading
Differential D90999
[libc++] Implements ranges::enable_borrowed_range Mordante on Nov 7 2020, 1:30 AM. Authored by
Details
This is the initial patch to implement ranges in libc++. Implements parts of:
Diff Detail
Event TimelineThere are a very large number of changes, so older changes are hidden. Show Older Changes Comment Actions Overall, LGTM, but I'm wondering if we should hold off on merging till we've got consensus on how detail headers are going to be handled.
Comment Actions AFAICT, the only things are:
If I missed something else from another reviewer, please do it too, and then ship-it. No need for another round of reviews.
Comment Actions Forget about this. I just spoke to Arthur and he explained that the very purpose of splitting the customization point into its own header was to avoid dragging all of <ranges> in the other headers. That makes total sense, I had missed that. So then I think the name of the header should just reflect what's in it, i.e. enable_borrowed_range.h or the like. Still LGTM with that naming sorted out. Comment Actions Thanks for all the reviews. I'll give it one more CI run to see whether the renaming didn't break things. Once that passes I'll land this patch.
Comment Actions Remove __ranges/enable_borrowed_range.h from include/module.modulemap. Comment Actions LGTM % comments. I suspect we will end up removing _LIBCPP_INLINE_VISIBILITY in the place it's commented-on, but that can be done in post.
Comment Actions Addresses the final review comments. |