llvm-project/libcxx/include/__algorithm
Louis Dionne b8cb1dc9ea [libc++] Make <ranges> non-experimental
When we ship LLVM 16, <ranges> won't be considered experimental anymore.
We might as well do this sooner rather than later.

Differential Revision: https://reviews.llvm.org/D132151
2022-08-18 16:59:58 -04:00
..
adjacent_find.h [libc++][ranges] implement `std::ranges::unique{_copy}` 2022-07-29 08:28:17 +01:00
all_of.h [libc++] Revert "Protect users from relying on detail headers" & related changes 2022-03-01 08:20:24 -05:00
any_of.h [libc++] Revert "Protect users from relying on detail headers" & related changes 2022-03-01 08:20:24 -05:00
binary_search.h [libc++] Make parameter names consistent and enforce the naming style using readability-identifier-naming 2022-07-08 18:17:47 +02:00
clamp.h [libc++][ranges] Implement `ranges::clamp` 2022-08-04 02:45:32 -07:00
comp.h [libc++] Revert "Protect users from relying on detail headers" & related changes 2022-03-01 08:20:24 -05:00
comp_ref_type.h [libc++] Make the Debug mode a configuration-time only option 2022-06-07 16:33:53 -04:00
copy.h [libc++] Fix unwrapping ranges with different iterators and sentinels 2022-07-28 10:22:41 +02:00
copy_backward.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
copy_if.h [libc++] Revert "Protect users from relying on detail headers" & related changes 2022-03-01 08:20:24 -05:00
copy_n.h [libc++] Granularize the rest of type_traits 2022-08-14 10:30:48 +02:00
count.h [libc++] Make parameter names consistent and enforce the naming style using readability-identifier-naming 2022-07-08 18:17:47 +02:00
count_if.h [libc++] Revert "Protect users from relying on detail headers" & related changes 2022-03-01 08:20:24 -05:00
equal.h [libc++] Revert "Protect users from relying on detail headers" & related changes 2022-03-01 08:20:24 -05:00
equal_range.h [libc++] Use uninitialized algorithms for vector 2022-07-26 17:44:31 +02:00
fill.h [libc++] Implement P1004R2 (constexpr std::vector) 2022-07-27 20:26:44 +02:00
fill_n.h [libc++] Granularize the rest of type_traits 2022-08-14 10:30:48 +02:00
find.h [libc++] Make parameter names consistent and enforce the naming style using readability-identifier-naming 2022-07-08 18:17:47 +02:00
find_end.h [libc++] Add a bunch of missing _LIBCPP_HIDE_FROM_ABI 2022-08-13 22:41:22 +02:00
find_first_of.h [libc++] Add a bunch of missing _LIBCPP_HIDE_FROM_ABI 2022-08-13 22:41:22 +02:00
find_if.h [libc++] Revert "Protect users from relying on detail headers" & related changes 2022-03-01 08:20:24 -05:00
find_if_not.h [libc++] Revert "Protect users from relying on detail headers" & related changes 2022-03-01 08:20:24 -05:00
for_each.h [libc++] Revert "Protect users from relying on detail headers" & related changes 2022-03-01 08:20:24 -05:00
for_each_n.h [libc++] Granularize the rest of type_traits 2022-08-14 10:30:48 +02:00
generate.h [libc++] Revert "Protect users from relying on detail headers" & related changes 2022-03-01 08:20:24 -05:00
generate_n.h [libc++] Granularize the rest of type_traits 2022-08-14 10:30:48 +02:00
half_positive.h [libc++] Revert "Protect users from relying on detail headers" & related changes 2022-03-01 08:20:24 -05:00
in_found_result.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
in_fun_result.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
in_in_out_result.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
in_in_result.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
in_out_out_result.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
in_out_result.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
includes.h [libc++][ranges] Make sure all range algorithms support differing projection types: 2022-07-26 15:51:49 -07:00
inplace_merge.h [libc++] Add a bunch of missing _LIBCPP_HIDE_FROM_ABI 2022-08-13 22:41:22 +02:00
is_heap.h [libc++][ranges] Implement `ranges::is_heap{,_until}`. 2022-07-26 16:11:24 -07:00
is_heap_until.h [libc++][ranges] Implement `ranges::is_heap{,_until}`. 2022-07-26 16:11:24 -07:00
is_partitioned.h [libc++] Add a bunch of missing _LIBCPP_HIDE_FROM_ABI 2022-08-13 22:41:22 +02:00
is_permutation.h [libc++][ranges] Implement `ranges::is_permutation` 2022-08-04 10:54:37 -07:00
is_sorted.h [libc++] Revert "Protect users from relying on detail headers" & related changes 2022-03-01 08:20:24 -05:00
is_sorted_until.h [libc++] Revert "Protect users from relying on detail headers" & related changes 2022-03-01 08:20:24 -05:00
iter_swap.h [libc++] Revert "Protect users from relying on detail headers" & related changes 2022-03-01 08:20:24 -05:00
iterator_operations.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
lexicographical_compare.h [libc++] Add a bunch of missing _LIBCPP_HIDE_FROM_ABI 2022-08-13 22:41:22 +02:00
lower_bound.h [lib++][ranges][NFC] Refactor `iterator_operations.h` to use tags. 2022-07-12 17:53:58 -07:00
make_heap.h [libc++][ranges] Implement `std::ranges::partial_sort_copy`. 2022-07-30 02:42:18 -07:00
make_projected.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
max.h [libc++] Revert "Protect users from relying on detail headers" & related changes 2022-03-01 08:20:24 -05:00
max_element.h [libc++] Revert "Protect users from relying on detail headers" & related changes 2022-03-01 08:20:24 -05:00
merge.h [libc++] Add a bunch of missing _LIBCPP_HIDE_FROM_ABI 2022-08-13 22:41:22 +02:00
min.h [libc++] Revert "Protect users from relying on detail headers" & related changes 2022-03-01 08:20:24 -05:00
min_element.h [libc++][ranges] Make range algorithms support proxy iterators 2022-07-17 18:12:06 -07:00
min_max_result.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
minmax.h [libc++][ranges] Implement ranges::minmax and ranges::minmax_element 2022-04-14 15:37:22 +02:00
minmax_element.h [libc++] Add a bunch of missing _LIBCPP_HIDE_FROM_ABI 2022-08-13 22:41:22 +02:00
mismatch.h [libc++] Revert "Protect users from relying on detail headers" & related changes 2022-03-01 08:20:24 -05:00
move.h [libc++][ranges] Implement `ranges::rotate`. 2022-08-03 16:04:24 -07:00
move_backward.h [libc++][ranges] Implement `ranges::rotate`. 2022-08-03 16:04:24 -07:00
next_permutation.h [libc++] Add a bunch of missing _LIBCPP_HIDE_FROM_ABI 2022-08-13 22:41:22 +02:00
none_of.h [libc++] Revert "Protect users from relying on detail headers" & related changes 2022-03-01 08:20:24 -05:00
nth_element.h [libc++] Add a bunch of missing _LIBCPP_HIDE_FROM_ABI 2022-08-13 22:41:22 +02:00
partial_sort.h [libc++] Add a bunch of missing _LIBCPP_HIDE_FROM_ABI 2022-08-13 22:41:22 +02:00
partial_sort_copy.h [libc++] Add a bunch of missing _LIBCPP_HIDE_FROM_ABI 2022-08-13 22:41:22 +02:00
partition.h [libc++] Add a bunch of missing _LIBCPP_HIDE_FROM_ABI 2022-08-13 22:41:22 +02:00
partition_copy.h [libc++] Add a bunch of missing _LIBCPP_HIDE_FROM_ABI 2022-08-13 22:41:22 +02:00
partition_point.h [libc++] Add a bunch of missing _LIBCPP_HIDE_FROM_ABI 2022-08-13 22:41:22 +02:00
pop_heap.h [libc++][ranges] Implement `std::ranges::partial_sort_copy`. 2022-07-30 02:42:18 -07:00
prev_permutation.h [libc++] Add a bunch of missing _LIBCPP_HIDE_FROM_ABI 2022-08-13 22:41:22 +02:00
push_heap.h [libc++][ranges] Implement `std::ranges::partial_sort_copy`. 2022-07-30 02:42:18 -07:00
ranges_adjacent_find.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_all_of.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_any_of.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_binary_search.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_clamp.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_copy.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_copy_backward.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_copy_if.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_copy_n.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_count.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_count_if.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_equal.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_equal_range.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_fill.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_fill_n.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_find.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_find_end.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_find_first_of.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_find_if.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_find_if_not.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_for_each.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_for_each_n.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_generate.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_generate_n.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_includes.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_inplace_merge.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_is_heap.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_is_heap_until.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_is_partitioned.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_is_permutation.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_is_sorted.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_is_sorted_until.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_iterator_concept.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_lexicographical_compare.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_lower_bound.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_make_heap.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_max.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_max_element.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_merge.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_min.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_min_element.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_minmax.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_minmax_element.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_mismatch.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_move.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_move_backward.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_next_permutation.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_none_of.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_nth_element.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_partial_sort.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_partial_sort_copy.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_partition.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_partition_copy.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_partition_point.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_pop_heap.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_prev_permutation.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_push_heap.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_remove.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_remove_copy.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_remove_copy_if.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_remove_if.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_replace.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_replace_copy.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_replace_copy_if.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_replace_if.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_reverse.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_reverse_copy.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_rotate.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_rotate_copy.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_sample.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_search.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_search_n.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_set_difference.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_set_intersection.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_set_symmetric_difference.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_set_union.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_shuffle.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_sort.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_sort_heap.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_stable_partition.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_stable_sort.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_swap_ranges.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_transform.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_unique.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_unique_copy.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
ranges_upper_bound.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
remove.h [libc++] Add a bunch of missing _LIBCPP_HIDE_FROM_ABI 2022-08-13 22:41:22 +02:00
remove_copy.h [libc++] Make parameter names consistent and enforce the naming style using readability-identifier-naming 2022-07-08 18:17:47 +02:00
remove_copy_if.h [libc++] Revert "Protect users from relying on detail headers" & related changes 2022-03-01 08:20:24 -05:00
remove_if.h [libc++] Add a bunch of missing _LIBCPP_HIDE_FROM_ABI 2022-08-13 22:41:22 +02:00
replace.h [libc++] Revert "Protect users from relying on detail headers" & related changes 2022-03-01 08:20:24 -05:00
replace_copy.h [libc++] Revert "Protect users from relying on detail headers" & related changes 2022-03-01 08:20:24 -05:00
replace_copy_if.h [libc++] Revert "Protect users from relying on detail headers" & related changes 2022-03-01 08:20:24 -05:00
replace_if.h [libc++] Revert "Protect users from relying on detail headers" & related changes 2022-03-01 08:20:24 -05:00
reverse.h [libc++][ranges] Implement `ranges::{prev, next}_permutation`. 2022-08-02 22:46:15 -07:00
reverse_copy.h [libc++] Revert "Protect users from relying on detail headers" & related changes 2022-03-01 08:20:24 -05:00
rotate.h [libc++] Add a bunch of missing _LIBCPP_HIDE_FROM_ABI 2022-08-13 22:41:22 +02:00
rotate_copy.h [libc++] Revert "Protect users from relying on detail headers" & related changes 2022-03-01 08:20:24 -05:00
sample.h [libc++][ranges] Implement `ranges::sample`. 2022-08-02 22:34:23 -07:00
search.h [libc++] Implement ranges::find_end, ranges::search{, _n} 2022-07-13 20:30:55 +02:00
search_n.h [libc++] Granularize the rest of type_traits 2022-08-14 10:30:48 +02:00
set_difference.h [libcxx][ranges] implement `std::ranges::set_difference` 2022-07-08 13:26:23 +01:00
set_intersection.h [libc++][ranges] implement `std::ranges::set_symmetric_difference` 2022-07-13 21:24:32 +01:00
set_symmetric_difference.h [libc++][ranges] implement `std::ranges::set_symmetric_difference` 2022-07-13 21:24:32 +01:00
set_union.h [libc++][ranges] implement `std::ranges::set_union` 2022-07-14 21:05:30 +01:00
shift_left.h [libc++] Revert "Protect users from relying on detail headers" & related changes 2022-03-01 08:20:24 -05:00
shift_right.h [libc++] Revert "Protect users from relying on detail headers" & related changes 2022-03-01 08:20:24 -05:00
shuffle.h [libc++] Add a bunch of missing _LIBCPP_HIDE_FROM_ABI 2022-08-13 22:41:22 +02:00
sift_down.h [libc++] Add a bunch of missing _LIBCPP_HIDE_FROM_ABI 2022-08-13 22:41:22 +02:00
sort.h [libc++] Add a bunch of missing _LIBCPP_HIDE_FROM_ABI 2022-08-13 22:41:22 +02:00
sort_heap.h [libc++][ranges] Implement `std::ranges::partial_sort_copy`. 2022-07-30 02:42:18 -07:00
stable_partition.h [libc++] Add a bunch of missing _LIBCPP_HIDE_FROM_ABI 2022-08-13 22:41:22 +02:00
stable_sort.h [libc++] Add a bunch of missing _LIBCPP_HIDE_FROM_ABI 2022-08-13 22:41:22 +02:00
swap_ranges.h [libc++][ranges] Implement `ranges::rotate`. 2022-08-03 16:04:24 -07:00
transform.h [libc++] Revert "Protect users from relying on detail headers" & related changes 2022-03-01 08:20:24 -05:00
uniform_random_bit_generator_adaptor.h [libc++][ranges] Implement `ranges::sample`. 2022-08-02 22:34:23 -07:00
unique.h [libc++][ranges] implement `std::ranges::unique{_copy}` 2022-07-29 08:28:17 +01:00
unique_copy.h [libc++][ranges] implement `std::ranges::unique{_copy}` 2022-07-29 08:28:17 +01:00
unwrap_iter.h [libc++] Use __unwrap_iter_impl for both unwrapping and rewrapping 2022-07-14 20:01:19 +02:00
unwrap_range.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
upper_bound.h [libc++][ranges] implement `std::ranges::equal_range` 2022-07-22 10:24:08 +01:00