summaryrefslogtreecommitdiff
path: root/libcxx/test/std/strings/basic.string/range_concept_conformance.compile.pass.cpp
AgeCommit message (Collapse)Author
2023-09-01[libc++] Apply clang formatting to all string unit testsBrendan Emery
This applies clang-format to the std::string unit tests in preparation for landing https://reviews.llvm.org/D140550. Differential Revision: https://reviews.llvm.org/D140612
2022-08-18[libc++] Make <ranges> non-experimentalLouis Dionne
When we ship LLVM 16, <ranges> won't be considered experimental anymore. We might as well do this sooner rather than later. Differential Revision: https://reviews.llvm.org/D132151
2022-03-13[libc++] Replace _LIBCPP_HAS_NO_CONCEPTS with _LIBCPP_STD_VER > 17. NFCI.Joe Loser
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 in the tests, remove `// UNSUPPORTED: libcpp-no-concepts`. Differential Revision: https://reviews.llvm.org/D121528
2022-01-13[libc++] [ranges] Implement P2415R2 owning_view.Arthur O'Dwyer
"What is a view?" http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2415r2.html https://github.com/cplusplus/draft/pull/5010/files This was a late-breaking (Oct 2021) change to C++20. The only thing missing from this patch is that we're supposed to bump the feature-test macro from #define __cpp_lib_ranges 202106L to #define __cpp_lib_ranges 202110L but we can't do that because we don't implement all of 202106 Ranges yet. Differential Revision: https://reviews.llvm.org/D116894
2021-09-02[libc++][NFC] Replace uses of stdr:: by just std::ranges::Louis Dionne
Differential Revision: https://reviews.llvm.org/D109121
2021-08-12[libc++] Remove Lit annotations for unsupported GCC versions from the test suiteLouis Dionne
Since we officially don't support several older compilers now, we can drop a lot of the markup in the test suite. This helps keep the test suite simple and makes sure that UNSUPPORTED annotations don't rot. This is the first patch of a series that will remove annotations for compilers that are now unsupported. Differential Revision: https://reviews.llvm.org/D107787
2021-07-27[libc++] Disable incomplete library features.Mark de Wever
Adds a new CMake option to disable the usage of incomplete headers. These incomplete headers are not guaranteed to be ABI stable. This option is intended to be used by vendors so they can avoid their users from code that's not ready for production usage. The option is enabled by default. Differential Revision: https://reviews.llvm.org/D106763
2021-07-15[libc++] Implement views::all_t and ranges::viewable_rangeLouis Dionne
Differential Revision: https://reviews.llvm.org/D105816
2021-06-24[libcxx][ranges] Add contiguous_range.zoecarver
Differential Revision: https://reviews.llvm.org/D104262
2021-05-20[libcxx][ranges] Implement `ranges::borrowed_range`.zoecarver
Differential Revision: https://reviews.llvm.org/D102426
2021-05-19[libcxx][ranges] adds concept `sized_range` and cleans up `ranges::size`Christopher Di Bella
* adds `sized_range` and conformance tests * moves `disable_sized_range` into namespace `std::ranges` * removes explicit type parameter Implements part of P0896 'The One Ranges Proposal'. Differential Revision: https://reviews.llvm.org/D102434
2021-05-04[libcxx][ranges] Add `random_access_{iterator,range}`.zoecarver
Differential Revision: https://reviews.llvm.org/D101316
2021-05-04[libc++] Implement ranges::viewLouis Dionne
Differential Revision: https://reviews.llvm.org/D101547
2021-05-03[libcxx][iterator][ranges] adds `bidirectional_iterator` and ↵Christopher Di Bella
`bidirectional_range` Implements parts of: * P0896R4 The One Ranges Proposal` Depends on D100275. Differential Revision: https://reviews.llvm.org/D100278
2021-05-03[libcxx][iterator][ranges] adds `forward_iterator` and `forward_range`Christopher Di Bella
Implements parts of: * P0896R4 The One Ranges Proposal` Depends on D100271. Differential Revision: https://reviews.llvm.org/D100275
2021-05-01[libcxx] Reenable ranges for clang-clMartin Storsjö
This reverts a224bf8ec423b42eea251407e7a6cc8398a5edf4 and fixes the underlying issue. The underlying issue is simply that MSVC headers contains a define like "#define __in", where __in is one macro in the MSVC Source Code Annotation Language, defined in sal.h Just use a different variable name than "__in" __indirectly_readable_impl, and add "__in" to nasty_macros.h just like the existing __out. (Also adding a couple more potentially conflicting ones.) Differential Revision: https://reviews.llvm.org/D101613
2021-04-30[libcxx][iterator][ranges] adds `input_iterator` and `input_range`Christopher Di Bella
Implements parts of: * P0896R4 The One Ranges Proposal` Depends on D100269. Differential Revision: https://reviews.llvm.org/D100271
2021-04-30[libcxx][ranges] adds `ranges::range`, `ranges::common_range`, and range aliasesChristopher Di Bella
* `std::ranges::range` * `std::ranges::sentinel_t` * `std::ranges::range_difference_t` * `std::ranges::range_value_t` * `std::ranges::range_reference_t` * `std::ranges::range_rvalue_reference_t` * `std::ranges::common_range` `range_size_t` depends on `sized_range` and will be added alongside it. Implements parts of: * P0896R4 The One Ranges Proposal` Depends on D100255. Differential Revision: https://reviews.llvm.org/D100269
2021-04-30[libcxx][ranges] adds `range` access CPOsChristopher Di Bella
* `std::ranges::begin` * `std::ranges::cbegin` * `std::ranges::end` * `std::ranges::cend` * `std::ranges::iterator` (required for `end`) Implements parts of: * P0896R4 The One Ranges Proposal` Co-author: @zoecarver Depends on D90999, D100160. Differential Revision: https://reviews.llvm.org/D100255