[libc++][ranges] Implement `ranges::rotate`.
Also fix `ranges::stable_sort` and `ranges::inplace_merge` to support
proxy iterators now that their internal implementations can correctly
dispatch `rotate`.
Differential Revision: https://reviews.llvm.org/D130758
NOKEYCHECK=True
GitOrigin-RevId: 36c746ca2d5b325a7ac64135c1ff8774c06ab34c
diff --git a/include/module.modulemap.in b/include/module.modulemap.in
index bcb3a0d..897c2c8 100644
--- a/include/module.modulemap.in
+++ b/include/module.modulemap.in
@@ -239,7 +239,6 @@
module __algorithm {
module adjacent_find { private header "__algorithm/adjacent_find.h" }
- module algorithm_family { private header "__algorithm/algorithm_family.h" }
module all_of { private header "__algorithm/all_of.h" }
module any_of { private header "__algorithm/any_of.h" }
module binary_search { private header "__algorithm/binary_search.h" }
@@ -373,6 +372,7 @@
module ranges_replace_if { private header "__algorithm/ranges_replace_if.h" }
module ranges_reverse { private header "__algorithm/ranges_reverse.h" }
module ranges_reverse_copy { private header "__algorithm/ranges_reverse_copy.h" }
+ module ranges_rotate { private header "__algorithm/ranges_rotate.h" }
module ranges_rotate_copy { private header "__algorithm/ranges_rotate_copy.h" }
module ranges_sample { private header "__algorithm/ranges_sample.h" }
module ranges_search { private header "__algorithm/ranges_search.h" }