aboutsummaryrefslogtreecommitdiff
path: root/libcxx/include/__algorithm/ranges_generate.h
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2023-07-26 19:03:47 +0000
committerDimitry Andric <dim@FreeBSD.org>2023-07-26 19:04:23 +0000
commit7fa27ce4a07f19b07799a767fc29416f3b625afb (patch)
tree27825c83636c4de341eb09a74f49f5d38a15d165 /libcxx/include/__algorithm/ranges_generate.h
parente3b557809604d036af6e00c60f012c2025b59a5e (diff)
Diffstat (limited to 'libcxx/include/__algorithm/ranges_generate.h')
-rw-r--r--libcxx/include/__algorithm/ranges_generate.h21
1 files changed, 8 insertions, 13 deletions
diff --git a/libcxx/include/__algorithm/ranges_generate.h b/libcxx/include/__algorithm/ranges_generate.h
index ae486ae65395..3ff1e13c4220 100644
--- a/libcxx/include/__algorithm/ranges_generate.h
+++ b/libcxx/include/__algorithm/ranges_generate.h
@@ -24,7 +24,7 @@
# pragma GCC system_header
#endif
-#if _LIBCPP_STD_VER > 17
+#if _LIBCPP_STD_VER >= 20
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -32,10 +32,8 @@ namespace ranges {
namespace __generate {
struct __fn {
-
template <class _OutIter, class _Sent, class _Func>
- _LIBCPP_HIDE_FROM_ABI constexpr
- static _OutIter __generate_fn_impl(_OutIter __first, _Sent __last, _Func& __gen) {
+ _LIBCPP_HIDE_FROM_ABI constexpr static _OutIter __generate_fn_impl(_OutIter __first, _Sent __last, _Func& __gen) {
for (; __first != __last; ++__first) {
*__first = __gen();
}
@@ -44,30 +42,27 @@ struct __fn {
}
template <input_or_output_iterator _OutIter, sentinel_for<_OutIter> _Sent, copy_constructible _Func>
- requires invocable<_Func&> && indirectly_writable<_OutIter, invoke_result_t<_Func&>>
- _LIBCPP_HIDE_FROM_ABI constexpr
- _OutIter operator()(_OutIter __first, _Sent __last, _Func __gen) const {
+ requires invocable<_Func&> && indirectly_writable<_OutIter, invoke_result_t<_Func&>>
+ _LIBCPP_HIDE_FROM_ABI constexpr _OutIter operator()(_OutIter __first, _Sent __last, _Func __gen) const {
return __generate_fn_impl(std::move(__first), std::move(__last), __gen);
}
template <class _Range, copy_constructible _Func>
- requires invocable<_Func&> && output_range<_Range, invoke_result_t<_Func&>>
- _LIBCPP_HIDE_FROM_ABI constexpr
- borrowed_iterator_t<_Range> operator()(_Range&& __range, _Func __gen) const {
+ requires invocable<_Func&> && output_range<_Range, invoke_result_t<_Func&>>
+ _LIBCPP_HIDE_FROM_ABI constexpr borrowed_iterator_t<_Range> operator()(_Range&& __range, _Func __gen) const {
return __generate_fn_impl(ranges::begin(__range), ranges::end(__range), __gen);
}
-
};
} // namespace __generate
inline namespace __cpo {
- inline constexpr auto generate = __generate::__fn{};
+inline constexpr auto generate = __generate::__fn{};
} // namespace __cpo
} // namespace ranges
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP_STD_VER > 17
+#endif // _LIBCPP_STD_VER >= 20
#endif // _LIBCPP___ALGORITHM_RANGES_GENERATE_H