[libc++] Removes unneeded includes.This removes all "TODO: remove these headers" comments from our headers.Note there seem to be more headers that can be removed, that will bedone in separate co
[libc++] Removes unneeded includes.This removes all "TODO: remove these headers" comments from our headers.Note there seem to be more headers that can be removed, that will bedone in separate commits.Reviewed By: #libc, ldionneDifferential Revision: https://reviews.llvm.org/D127592
show more ...
[libc++] Remove unused __functional includesReviewed By: ldionne, #libcSpies: arichardson, smeenai, libcxx-commits, arphamanDifferential Revision: https://reviews.llvm.org/D126098
[libcxx][ranges] add views::join adaptor object. added test coverage to join_view- added views::join adaptor object- added test for the adaptor object- fixed some join_view's tests. e.g iter_swap
[libcxx][ranges] add views::join adaptor object. added test coverage to join_view- added views::join adaptor object- added test for the adaptor object- fixed some join_view's tests. e.g iter_swap test- added some negative tests for join_view to test that operations do not exist when constraints aren't met- added tests that locks down issues that were already addressed in previous change - LWG3500 `join_view::iterator::operator->()` is bogus - LWG3313 `join_view::iterator::operator--` is incorrectly constrained - LWG3517 `join_view::iterator`'s `iter_swap` is underconstrained - P2328R1 join_view should join all views of ranges- fixed some issues in join_view and added tests - LWG3535 `join_view::iterator::iterator_category` and `::iterator_concept` lie - LWG3474 Nesting ``join_views`` is broken because of CTAD- added tests for an LWG issue that isn't resolved in the standard yet, but the previous code has workaround. - LWG3569 Inner iterator not default_initializableReviewed By: #libc, var-constSpies: var-const, libcxx-commitsDifferential Revision: https://reviews.llvm.org/D123466
[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++] Removes base member from tests.Change the tests to use the base friend function instead of members.Also changed some types to have a base friends instead of members.Reviewed By: #libc,
[libc++] Removes base member from tests.Change the tests to use the base friend function instead of members.Also changed some types to have a base friends instead of members.Reviewed By: #libc, ldionne, QuuxplusoneDifferential Revision: https://reviews.llvm.org/D120742
[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++] Refactor the test for join_view's default constructorIn particular, this removes the need for adding a ad-hoc `operator==`to forward_iterator.Differential Revision: https://reviews.llvm
[libc++] Refactor the test for join_view's default constructorIn particular, this removes the need for adding a ad-hoc `operator==`to forward_iterator.Differential Revision: https://reviews.llvm.org/D116614
[libc++] Remove incorrect default constructor in cpp17_input_iteratorAFAICT, Cpp17InputIterators are not required to be default constructible,since that requirement is added in Cpp17ForwardIterato
[libc++] Remove incorrect default constructor in cpp17_input_iteratorAFAICT, Cpp17InputIterators are not required to be default constructible,since that requirement is added in Cpp17ForwardIterator. Hence, ourarchetype for Cpp17InputIterator should not be default constructible.Removing that constructor has a ripple effect on a couple of tests thatwere making incorrect assumptions. Notably:- Some tests were using cpp17_input_iterator as a sentinel for itself. That is not valid, because a cpp17_input_iterator is not semiregular anymore after the change (and hence it doesn't satisfy sentinel_for).- Some tests were using a stride-counted cpp17_input_iterator as the sentinel for a range. This doesn't work anymore because of the problem above, so these tests were changed not to check stride counts for input iterators.- Some tests were default constructing cpp17_input_iterator when a simple alternative was available -- those have been changed to use that alternative.Differential Revision: https://reviews.llvm.org/D115806
[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
[libcxx][ranges] Add `ranges::join_view`.Differential Revision: https://reviews.llvm.org/D107671