diff options
Diffstat (limited to 'contrib/llvm-project/libcxx/include/__algorithm/ranges_rotate_copy.h')
| -rw-r--r-- | contrib/llvm-project/libcxx/include/__algorithm/ranges_rotate_copy.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/contrib/llvm-project/libcxx/include/__algorithm/ranges_rotate_copy.h b/contrib/llvm-project/libcxx/include/__algorithm/ranges_rotate_copy.h index 301672707f72..ab76c0944c47 100644 --- a/contrib/llvm-project/libcxx/include/__algorithm/ranges_rotate_copy.h +++ b/contrib/llvm-project/libcxx/include/__algorithm/ranges_rotate_copy.h @@ -13,7 +13,6 @@ #include <__algorithm/ranges_copy.h> #include <__config> #include <__iterator/concepts.h> -#include <__iterator/reverse_iterator.h> #include <__ranges/access.h> #include <__ranges/concepts.h> #include <__ranges/dangling.h> @@ -34,7 +33,7 @@ using rotate_copy_result = in_out_result<_InIter, _OutIter>; namespace __rotate_copy { struct __fn { - template <bidirectional_iterator _InIter, sentinel_for<_InIter> _Sent, weakly_incrementable _OutIter> + template <forward_iterator _InIter, sentinel_for<_InIter> _Sent, weakly_incrementable _OutIter> requires indirectly_copyable<_InIter, _OutIter> _LIBCPP_HIDE_FROM_ABI constexpr rotate_copy_result<_InIter, _OutIter> operator()(_InIter __first, _InIter __middle, _Sent __last, _OutIter __result) const { @@ -43,7 +42,7 @@ struct __fn { return {std::move(__res1.in), std::move(__res2.out)}; } - template <bidirectional_range _Range, weakly_incrementable _OutIter> + template <forward_range _Range, weakly_incrementable _OutIter> requires indirectly_copyable<iterator_t<_Range>, _OutIter> _LIBCPP_HIDE_FROM_ABI constexpr rotate_copy_result<borrowed_iterator_t<_Range>, _OutIter> operator()(_Range&& __range, iterator_t<_Range> __middle, _OutIter __result) const { |
