aboutsummaryrefslogtreecommitdiff
path: root/libcxx/include/algorithm
diff options
context:
space:
mode:
authorLouis Dionne <ldionne.2@gmail.com>2024-09-16 15:06:20 -0400
committerGitHub <noreply@github.com>2024-09-16 15:06:20 -0400
commit09e3a360581dc36d0820d3fb6da9bd7cfed87b5d (patch)
tree73ede9c12022fdb66dfca29777fa134a3c21e82a /libcxx/include/algorithm
parent1bfc3d0de591b6b4e18ee720bd24f58e45d597ef (diff)
downloadllvm-09e3a360581dc36d0820d3fb6da9bd7cfed87b5d.zip
llvm-09e3a360581dc36d0820d3fb6da9bd7cfed87b5d.tar.gz
llvm-09e3a360581dc36d0820d3fb6da9bd7cfed87b5d.tar.bz2
[libc++][modules] Fix missing and incorrect includes (#108850)
This patch adds a large number of missing includes in the libc++ headers and the test suite. Those were found as part of the effort to move towards a mostly monolithic top-level std module.
Diffstat (limited to 'libcxx/include/algorithm')
-rw-r--r--libcxx/include/algorithm9
1 files changed, 9 insertions, 0 deletions
diff --git a/libcxx/include/algorithm b/libcxx/include/algorithm
index 698e6f5..36fd035 100644
--- a/libcxx/include/algorithm
+++ b/libcxx/include/algorithm
@@ -313,6 +313,9 @@ namespace ranges {
template<class I, class F>
using for_each_result = in_fun_result<I, F>; // since C++20
+ template<class I, class F>
+ using for_each_n_result = in_fun_result<I, F>; // since C++20
+
template<input_iterator I, sentinel_for<I> S, class Proj = identity,
indirectly_unary_invocable<projected<I, Proj>> Fun>
constexpr ranges::for_each_result<I, Fun>
@@ -700,6 +703,12 @@ namespace ranges {
ranges::lexicographical_compare(R1&& r1, R2&& r2, Comp comp = {},
Proj1 proj1 = {}, Proj2 proj2 = {}); // since C++20
+ template<class I, class O>
+ using move_result = in_out_result<I, O>; // since C++20
+
+ template<class I, class O>
+ using move_backward_result = in_out_result<I, O>; // since C++20
+
template<bidirectional_iterator I1, sentinel_for<I1> S1, bidirectional_iterator I2>
requires indirectly_movable<I1, I2>
constexpr ranges::move_backward_result<I1, I2>