Nikolas Klauser
1e77b396ff
[libc++] Add ranges::in_fun_result
...
Add `ranges::in_fun_result`
Reviewed By: Quuxplusone, #libc, var-const
Spies: CaseyCarter, var-const, libcxx-commits, mgorny
Differential Revision: https://reviews.llvm.org/D116974
2022-02-11 17:10:29 +01:00
Nikolas Klauser
610979b301
[libc++][ranges] Add ranges::in_out_out_result
...
Add `ranges::in_out_out_result`
Reviewed By: Quuxplusone, Mordante, #libc
Spies: libcxx-commits, mgorny
Differential Revision: https://reviews.llvm.org/D118634
2022-02-03 02:17:48 +01:00
Nikolas Klauser
f3514af492
[libc++][ranges] Add ranges::in_in_out_result
...
Add `ranges::in_in_out_result`
Reviewed By: Quuxplusone, Mordante, #libc
Spies: CaseyCarter, libcxx-commits, mgorny
Differential Revision: https://reviews.llvm.org/D117512
2022-01-31 16:33:45 +01:00
Nikolas Klauser
6322cb4890
[libc++][test] test in_in_result convertible requirements
...
Currently it is not checked that operator in_in_result<II1, II2>() SFINAEs away properly
Reviewed By: ldionne, #libc
Spies: libcxx-commits
Differential Revision: https://reviews.llvm.org/D117517
2022-01-18 20:29:51 +01:00
Nikolas Klauser
d3729bb384
[libc++][ranges] Add ranges::in_in_result
...
Add `std::ranges::in_in_result`
Reviewed By: Quuxplusone, Mordante, #libc
Spies: ldionne, libcxx-commits, mgorny
Differential Revision: https://reviews.llvm.org/D116278
2022-01-14 02:56:33 +01:00
Konstantin Varlamov
57092f87b2
Revert "[libc++] Temporarily disable the in_out_result test on Fuchsia."
...
This reverts commit 9e634b35ff51d0eb2b38013111491e88bdbae388.
2022-01-12 13:10:30 -08:00
Konstantin Varlamov
fe958b140a
[libc++] Quick fix to remove a narrowing conversion from the in_out_result test.
...
This needs a proper solution in a follow-up. The issue is that the
Standard defines conversions between `in_out_result` classes with
different template types as just `return {in, out};`. Because the
expression uses list initialization, it will fail to compile if the
conversion happens to be narrowing -- which is probably unintended.
Surprisingly, this error wasn't caught by the CI.
Differential Revision: https://reviews.llvm.org/D117089
2022-01-12 01:49:46 -08:00
Konstantin Varlamov
9e634b35ff
[libc++] Temporarily disable the in_out_result test on Fuchsia.
2022-01-11 15:05:43 -08:00
Konstantin Varlamov
8d23b7420c
[libc++][ranges] Implement uninitialized_copy{,_n}
and uninitialized_move{,_n}
.
...
Also implement `in_out_result` which is a prerequisite.
Differential Revision: https://reviews.llvm.org/D116023
2022-01-10 22:49:50 -08:00