- Implement https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2474r2.html
- Implement LWG3875(https://cplusplus.github.io/LWG/issue3875).
Depends on D151629
Paths
| Differential D141699
[libc++][ranges] Implement P2474R2(`views::repeat`). ClosedPublic Authored by yronglin on Jan 13 2023, 8:28 AM.
Details Summary
Depends on D151629
Diff Detail
Unit TestsFailed Event TimelineThere are a very large number of changes, so older changes are hidden. Show Older Changes
This revision now requires changes to proceed.May 31 2023, 11:37 PM yronglin marked 62 inline comments as done. Comment ActionsAddress comments. Comment Actions Sorry for the late reply and thanks a lot for your review! @var-const
yronglin added a parent revision: D151629: [libc++][ranges] Implement P2494R2 (Relaxing range adaptors to allow for move only types).
yronglin marked 13 inline comments as done. Comment ActionsMerge fwd/repeat_view.h and ranges/repeat_view.h, and address comments. Comment Actions Thanks for your review @var-const !
Comment Actions
I'll take a look today or tomorrow, real sorry about the slow review! Comment Actions
Thanks a lot and no worries about that! Comment Actions LGTM with the remaining comments addressed (and a green CI). Feel free to ping me directly if you have any questions re. my comments. Thanks!
Comment Actions I'm trusting @var-const here. I don't really have the time to do another deep dive here. Comment Actions Thanks for your review! @var-const @philnik
Comment Actions I mainly skimmed over it. I trust @philnik and @var-const to have done a deeper review; they are more familiar with the ranges details. This revision is now accepted and ready to land.Jul 18 2023, 8:24 AM Comment Actions
Thanks a lot for your review! Comment Actions
Rather than explicitly enabling debug mode (which will fail in the hardened mode test), please add // UNSUPPORTED: !libcpp-has-hardened-mode && !libcpp-has-debug-mode Comment Actions
Thanks for your advice, fixed. Closed by commit rGa2160dd34d56: [libc++][ranges] Implement P2474R2(`views::repeat`). (authored by yronglin). · Explain WhyJul 20 2023, 5:03 AM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 498684 libcxx/docs/FeatureTestMacroTable.rst
libcxx/docs/Status/Cxx2bPapers.csv
libcxx/docs/Status/RangesViews.csv
libcxx/include/CMakeLists.txt
libcxx/include/__ranges/drop_view.h
libcxx/include/__ranges/repeat_view.h
libcxx/include/__ranges/take_view.h
libcxx/include/module.modulemap.in
libcxx/include/ranges
libcxx/include/version
libcxx/test/libcxx/private_headers.verify.cpp
libcxx/test/std/language.support/support.limits/support.limits.general/ranges.version.compile.pass.cpp
libcxx/test/std/language.support/support.limits/support.limits.general/tuple.version.compile.pass.cpp
libcxx/test/std/language.support/support.limits/support.limits.general/utility.version.compile.pass.cpp
libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
libcxx/test/std/ranges/range.adaptors/range.drop/adaptor.repeat.pass.cpp
libcxx/test/std/ranges/range.adaptors/range.take/adaptor.repeat.pass.cpp
libcxx/test/std/ranges/range.factories/range.repeat.view/begin.pass.cpp
libcxx/test/std/ranges/range.factories/range.repeat.view/ctad.compile.pass.cpp
libcxx/test/std/ranges/range.factories/range.repeat.view/ctor.default.pass.cpp
libcxx/test/std/ranges/range.factories/range.repeat.view/ctor.piecewise.pass.cpp
libcxx/test/std/ranges/range.factories/range.repeat.view/ctor.value.bound.pass.cpp
libcxx/test/std/ranges/range.factories/range.repeat.view/end.pass.cpp
libcxx/test/std/ranges/range.factories/range.repeat.view/iterator/compare.pass.cpp
libcxx/test/std/ranges/range.factories/range.repeat.view/iterator/ctor.default.pass.cpp
libcxx/test/std/ranges/range.factories/range.repeat.view/iterator/decrement.pass.cpp
libcxx/test/std/ranges/range.factories/range.repeat.view/iterator/increment.pass.cpp
libcxx/test/std/ranges/range.factories/range.repeat.view/iterator/member_typedefs.compile.pass.cpp
libcxx/test/std/ranges/range.factories/range.repeat.view/iterator/minus.pass.cpp
libcxx/test/std/ranges/range.factories/range.repeat.view/iterator/minus_eq.pass.cpp
libcxx/test/std/ranges/range.factories/range.repeat.view/iterator/plus.pass.cpp
libcxx/test/std/ranges/range.factories/range.repeat.view/iterator/plus_eq.pass.cpp
libcxx/test/std/ranges/range.factories/range.repeat.view/iterator/star.pass.cpp
libcxx/test/std/ranges/range.factories/range.repeat.view/iterator/subscript.pass.cpp
libcxx/test/std/ranges/range.factories/range.repeat.view/size.pass.cpp
libcxx/test/std/ranges/range.factories/range.repeat.view/views_repeat.pass.cpp
libcxx/utils/generate_feature_test_macro_components.py
|
Shouldn't this be annotated with the corresponding date rather than being marked *unimplemented*?