llvm-project/libcxx/include/__algorithm
Nikolas Klauser 5fab33af7f [libc++] Avoid instantiating type_trait classes
Use `using` aliases to avoid instantiating lots of types

Reviewed By: ldionne, #libc

Spies: libcxx-commits, miyuki

Differential Revision: https://reviews.llvm.org/D132785
2022-09-06 19:09:42 +02:00
..
adjacent_find.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
all_of.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
any_of.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
binary_search.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
clamp.h [libc++][ranges] Implement `ranges::clamp` 2022-08-04 02:45:32 -07:00
comp.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
comp_ref_type.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
copy.h [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
copy_backward.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
copy_if.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
copy_n.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
count.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
count_if.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
equal.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
equal_range.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
fill.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
fill_n.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
find.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
find_end.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
find_first_of.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
find_if.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
find_if_not.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
for_each.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
for_each_n.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
generate.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
generate_n.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
half_positive.h [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02: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++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
inplace_merge.h [libc++] Granularize the rest of memory 2022-09-05 12:36:41 +02:00
is_heap.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
is_heap_until.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
is_partitioned.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
is_permutation.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
is_sorted.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
is_sorted_until.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
iter_swap.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
iterator_operations.h [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
lexicographical_compare.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
lower_bound.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
make_heap.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
make_projected.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
max.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
max_element.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
merge.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
min.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
min_element.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
min_max_result.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
minmax.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
minmax_element.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
mismatch.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
move.h [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
move_backward.h [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
next_permutation.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
none_of.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
nth_element.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
partial_sort.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
partial_sort_copy.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
partition.h [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
partition_copy.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
partition_point.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
pop_heap.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
prev_permutation.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
push_heap.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02: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++] Granularize the rest of memory 2022-09-05 12:36:41 +02: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++] Granularize the rest of memory 2022-09-05 12:36:41 +02: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++] Granularize the rest of memory 2022-09-05 12:36:41 +02: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++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02: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++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02: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++] Granularize the rest of memory 2022-09-05 12:36:41 +02: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++] Granularize the rest of memory 2022-09-05 12:36:41 +02: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++] Granularize the rest of memory 2022-09-05 12:36:41 +02:00
ranges_partial_sort_copy.h [libc++] Granularize the rest of memory 2022-09-05 12:36:41 +02:00
ranges_partition.h [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
ranges_partition_copy.h [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02: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++] Granularize the rest of memory 2022-09-05 12:36:41 +02: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++] Granularize the rest of memory 2022-09-05 12:36:41 +02:00
ranges_search_n.h [libc++] Granularize the rest of memory 2022-09-05 12:36:41 +02:00
ranges_set_difference.h [libc++] Granularize the rest of memory 2022-09-05 12:36:41 +02: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++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02: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++] Granularize the rest of memory 2022-09-05 12:36:41 +02:00
ranges_unique_copy.h [libc++] Granularize the rest of memory 2022-09-05 12:36:41 +02:00
ranges_upper_bound.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
remove.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
remove_copy.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
remove_copy_if.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
remove_if.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
replace.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
replace_copy.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
replace_copy_if.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
replace_if.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
reverse.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
reverse_copy.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
rotate.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
rotate_copy.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
sample.h [libc++][ranges] Implement `ranges::sample`. 2022-08-02 22:34:23 -07:00
search.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
search_n.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
set_difference.h [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
set_intersection.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
set_symmetric_difference.h [libc++] Granularize the rest of memory 2022-09-05 12:36:41 +02:00
set_union.h [libc++] Granularize the rest of memory 2022-09-05 12:36:41 +02:00
shift_left.h
shift_right.h
shuffle.h [libc++] Make the naming of private member variables consistent and enforce it through readability-identifier-naming 2022-09-02 21:36:36 +02:00
sift_down.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
sort.h [libc++] Granularize the rest of memory 2022-09-05 12:36:41 +02:00
sort_heap.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
stable_partition.h [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
stable_sort.h [libc++] Granularize the rest of memory 2022-09-05 12:36:41 +02:00
swap_ranges.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
transform.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
uniform_random_bit_generator_adaptor.h [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
unique.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
unique_copy.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
unwrap_iter.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
unwrap_range.h [libc++] Make <ranges> non-experimental 2022-08-18 16:59:58 -04:00
upper_bound.h [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00