[libc++][ranges] Implement `views::drop`.The view itself has been implemented previously -- this patch only addsthe ability to pipe it.Also finishes the implementation of [P1739](https://wg21.li
[libc++][ranges] Implement `views::drop`.The view itself has been implemented previously -- this patch only addsthe ability to pipe it.Also finishes the implementation of [P1739](https://wg21.link/p1739) and[LWG3407](https://wg21.link/lwg3407).Differential Revision: https://reviews.llvm.org/D125156
show more ...
[libc++][ranges] Implement `views::take`.The view itself has been implemented previously -- this patch only addsthe ability to pipe it.Also implements [P1739](https://wg21.link/p1739) (partially
[libc++][ranges] Implement `views::take`.The view itself has been implemented previously -- this patch only addsthe ability to pipe it.Also implements [P1739](https://wg21.link/p1739) (partially) and [LWG3407](https://wg21.link/lwg3407).Differential Revision: https://reviews.llvm.org/D123600
[libc++] Replace _LIBCPP_HAS_NO_CONCEPTS with _LIBCPP_STD_VER > 17. NFCI.All supported compilers that support C++20 now support concepts. So, remove`_LIB_LIBCPP_HAS_NO_CONCEPTS` in favor of `_LIBC
[libc++] Replace _LIBCPP_HAS_NO_CONCEPTS with _LIBCPP_STD_VER > 17. NFCI.All supported compilers that support C++20 now support concepts. So, remove`_LIB_LIBCPP_HAS_NO_CONCEPTS` in favor of `_LIBCPP_STD_VER > 17`. Similarly inthe tests, remove `// UNSUPPORTED: libcpp-no-concepts`.Differential Revision: https://reviews.llvm.org/D121528
[libc++] Granularize <utility> includesReviewed By: ldionne, #libcSpies: EricWF, libcxx-commits, arphamanDifferential Revision: https://reviews.llvm.org/D120466
[libc++] [ranges] ref_view and empty_view are borrowed ranges. Normalize borrowed_range tests.Differential Revision: https://reviews.llvm.org/D118164
[libc++] Fix __simple_view concept in std::rangesDifferential Revision: https://reviews.llvm.org/D116808
[libc++] [ranges] Implement P2415R2 owning_view."What is a view?"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2415r2.htmlhttps://github.com/cplusplus/draft/pull/5010/filesThis was a
[libc++] [ranges] Implement P2415R2 owning_view."What is a view?"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2415r2.htmlhttps://github.com/cplusplus/draft/pull/5010/filesThis was a late-breaking (Oct 2021) change to C++20.The only thing missing from this patch is that we're supposedto bump the feature-test macro from #define __cpp_lib_ranges 202106Lto #define __cpp_lib_ranges 202110Lbut we can't do that because we don't implement all of 202106 Ranges yet.Differential Revision: https://reviews.llvm.org/D116894
[libc++] [test] Simplify some ranges tests.Eliminate a bogus operator== overload.Also, check more intermediate steps in the logic we're checking here.Some of this simplification is possible only
[libc++] [test] Simplify some ranges tests.Eliminate a bogus operator== overload.Also, check more intermediate steps in the logic we're checking here.Some of this simplification is possible only now that we've implementedmore of <ranges>.Differential Revision: https://reviews.llvm.org/D116002
[libc++] [test] Simplify sentinel_wrapper and sized_sentinel.Remove `s.base()`; every test that wants to get the base of a "test sentinel"should use the ADL `base(s)` from now on.Differential Re
[libc++] [test] Simplify sentinel_wrapper and sized_sentinel.Remove `s.base()`; every test that wants to get the base of a "test sentinel"should use the ADL `base(s)` from now on.Differential Revision: https://reviews.llvm.org/D115766
[libc++] [test] s/ContiguousView/MoveOnlyView/g. NFCI.The unique (ha!) thing about this range type is that it's move-only.Its contiguity is unsurprising (most of our test ranges are contiguous).D
[libc++] [test] s/ContiguousView/MoveOnlyView/g. NFCI.The unique (ha!) thing about this range type is that it's move-only.Its contiguity is unsurprising (most of our test ranges are contiguous).Discussed in D111231 but committed separately for clarity.
[libc++] [test] Change a lot of free begin/end pairs to members. NFCI.If you have a `begin() const` member, you don't need a `begin()` memberunless you want it to do something different (e.g. have
[libc++] [test] Change a lot of free begin/end pairs to members. NFCI.If you have a `begin() const` member, you don't need a `begin()` memberunless you want it to do something different (e.g. have a different returntype). So in general, //view// types don't need `begin()` non-const members.Also, static_assert some things about the types in "types.h", so that wedon't accidentally break those properties under refactoring.Differential Revision: https://reviews.llvm.org/D111231
[libc++] Various cleanups in the ranges tests- Rename test files to follow conventions better- Split constructor tests that were in a single file- Add missing tests for take_view and transform_vi
[libc++] Various cleanups in the ranges tests- Rename test files to follow conventions better- Split constructor tests that were in a single file- Add missing tests for take_view and transform_view's default constructors- Add missing tests for transform_view's view/function constructor- Fix include guards- Mark some tests as being specific to libc++Differential Revision: https://reviews.llvm.org/D108829
[libc++][NFC] Replace uses of 'constexpr friend' by 'friend constexpr'This is done for consistency, since that's what we do everywhere elsein the library.
[libc++] Remove Lit annotations for unsupported GCC versions from the test suiteSince we officially don't support several older compilers now, we candrop a lot of the markup in the test suite. Thi
[libc++] Remove Lit annotations for unsupported GCC versions from the test suiteSince we officially don't support several older compilers now, we candrop a lot of the markup in the test suite. This helps keep the testsuite simple and makes sure that UNSUPPORTED annotations don't rot.This is the first patch of a series that will remove annotations forcompilers that are now unsupported.Differential Revision: https://reviews.llvm.org/D107787
[libcxx][ranges] Add ranges::take_view.Differential Revision: https://reviews.llvm.org/D106507