[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
NOKEYCHECK=True
GitOrigin-RevId: 1e77b396ffe46b165bcdafdf79077a9d1da6c255
diff --git a/include/algorithm b/include/algorithm
index 21c0776..be10e30 100644
--- a/include/algorithm
+++ b/include/algorithm
@@ -19,6 +19,9 @@
{
namespace ranges {
+ template <class I, class F>
+ struct in_fun_result; // since C++20
+
template <class I1, class I2>
struct in_in_result; // since C++20
@@ -27,6 +30,9 @@
template <class I, class O1, class O2>
struct in_out_out_result; // since C++20
+
+ template<class I, class O>
+ struct in_out_result; // since C++20
}
template <class InputIterator, class Predicate>
@@ -661,13 +667,6 @@
template <class BidirectionalIterator, class Compare>
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
*/
@@ -712,6 +711,7 @@
#include <__algorithm/generate.h>
#include <__algorithm/generate_n.h>
#include <__algorithm/half_positive.h>
+#include <__algorithm/in_fun_result.h>
#include <__algorithm/in_in_out_result.h>
#include <__algorithm/in_in_result.h>
#include <__algorithm/in_out_out_result.h>