Louis Dionne
b8cb1dc9ea
[libc++] Make <ranges> non-experimental
...
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-08-18 16:59:58 -04:00
Konstantin Varlamov
8ac015caf6
[libc++][ranges][NFC] Make sure all implemented algorithms are enabled in "robust" tests.
...
Also fix `std::find_first_of` (which accidentally copied the predicate
in the implementation).
Differential Revision: https://reviews.llvm.org/D131235
2022-08-05 14:02:12 -07:00
Nikolas Klauser
68264b6494
[libc++][ranges] Implement `ranges::{prev, next}_permutation`.
...
Co-authored-by: Konstantin Varlamov <varconst@apple.com>
Differential Revision: https://reviews.llvm.org/D129859
2022-08-02 22:46:15 -07:00
Nikolas Klauser
93172c1c2b
[libc++][ranges] Implement `ranges::replace_copy{,_if}`.
...
Co-authored-by: Konstantin Varlamov <varconst@apple.com>
Differential Revision: https://reviews.llvm.org/D129806
2022-08-02 22:32:01 -07:00
Nikolas Klauser
760d2b462c
[libc++][ranges] Implement `ranges::remove_copy{, _if}`.
...
Co-authored-by: Hui Xie <hui.xie1990@gmail.com>
Differential Revision: https://reviews.llvm.org/D130599
2022-08-02 22:19:13 -07:00
Igor Zhukov
495519e5f8
[libc++][NFC] Don't rely on `<algorithm>` transitively including `<memory>` in tests
...
Found by @cpplearner (https://github.com/microsoft/STL/pull/2976#discussion_r935440806 )
Differential Revision: https://reviews.llvm.org/D130997
2022-08-02 20:46:05 -04:00
Konstantin Varlamov
db7d795978
[libc++][ranges] Implement `std::ranges::partial_sort_copy`.
...
Differential Revision: https://reviews.llvm.org/D130532
2022-07-30 02:42:18 -07:00
Hui Xie
72f57e3a30
[libc++][ranges] implement `std::ranges::unique{_copy}`
...
implement `std::ranges::unique` and `std::ranges::unique_copy`
Differential Revision: https://reviews.llvm.org/D130404
2022-07-29 08:28:17 +01:00
Konstantin Varlamov
065202f3ca
[libc++][ranges] Implement `std::ranges::partition_{point,copy}`.
...
Reviewed By: #libc, huixie90, ldionne
Differential Revision: https://reviews.llvm.org/D130070
2022-07-20 11:39:07 -07:00
Hui Xie
1cdec6c96e
[libcxx][ranges] implement `std::ranges::set_difference`
...
implement `std::ranges::set_difference`
reused classic std::set_difference
added unit tests
Differential Revision: https://reviews.llvm.org/D128983
2022-07-08 13:26:23 +01:00
Nikolas Klauser
4098e2085d
[libc++] Add test for algorithm result type alias declarations
...
Reviewed By: var-const, #libc
Spies: libcxx-commits, jeroen.dobbelaere
Differential Revision: https://reviews.llvm.org/D129189
2022-07-07 23:05:05 +02:00