[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
NOKEYCHECK=True
GitOrigin-RevId: 8d23b7420c92ddf8c3e5da39a90a1982fc72c231
diff --git a/include/algorithm b/include/algorithm
index 55b0bc5..932d17d 100644
--- a/include/algorithm
+++ b/include/algorithm
@@ -641,6 +641,12 @@
constexpr bool // constexpr in C++20
prev_permutation(BidirectionalIterator first, BidirectionalIterator last, Compare comp);
+namespace ranges {
+// [algorithms.results], algorithm result types
+template<class InputIterator, class OutputIterator>
+ struct in_out_result;
+}
+
} // std
*/
@@ -685,6 +691,7 @@
#include <__algorithm/generate.h>
#include <__algorithm/generate_n.h>
#include <__algorithm/half_positive.h>
+#include <__algorithm/in_out_result.h>
#include <__algorithm/includes.h>
#include <__algorithm/inplace_merge.h>
#include <__algorithm/is_heap.h>