mirror-llvm-project/libcxx/include/__cxx03/__algorithm
Zibi Sarbinowski fa49ad564b
[libc++] Fix random_shuffle signature in C++03 mode with frozen headers (#186443)
The frozen C++03 headers got an invalid simplification in #134045 that
changed the signature of random_shuffle to use a forwarding reference
instead of a lvalue reference. This patch fixes it and adds a test.

---------

Co-authored-by: Louis Dionne <ldionne.2@gmail.com>
2026-03-20 11:22:42 -04:00
..
adjacent_find.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
all_of.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
any_of.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
binary_search.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
comp.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
comp_ref_type.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
copy.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
copy_backward.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
copy_if.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
copy_move_common.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
copy_n.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
count.h [libc++][C++03] Fix alg.count/count.pass.cpp (#163751) 2025-10-22 18:22:43 +02:00
count_if.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
equal.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
equal_range.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
fill.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
fill_n.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
find.h [libc++][C++03] partially cherry-pick #122641 (#157596) 2025-09-11 10:14:30 +02:00
find_end.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
find_first_of.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
find_if.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
find_if_not.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
find_segment_if.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
for_each.h [libc++][C++03] Cherry pick #164272 (#164447) 2025-10-22 11:13:57 +08:00
for_each_segment.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
generate.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
generate_n.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
half_positive.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
includes.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
inplace_merge.h
is_heap.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
is_heap_until.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
is_partitioned.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
is_permutation.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
is_sorted.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
is_sorted_until.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
iter_swap.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
iterator_operations.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
lexicographical_compare.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
lower_bound.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
make_heap.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
make_projected.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
max.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
max_element.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
merge.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
min.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
min_element.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
minmax.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
minmax_element.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
mismatch.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
move.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
move_backward.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
next_permutation.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
none_of.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
nth_element.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
partial_sort.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
partial_sort_copy.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
partition.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
partition_copy.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
partition_point.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
pop_heap.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
prev_permutation.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
push_heap.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
remove.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
remove_copy.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
remove_copy_if.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
remove_if.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
replace.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
replace_copy.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
replace_copy_if.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
replace_if.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
reverse.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
reverse_copy.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
rotate.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
rotate_copy.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
search.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
search_n.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
set_difference.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
set_intersection.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
set_symmetric_difference.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
set_union.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
shuffle.h [libc++] Fix random_shuffle signature in C++03 mode with frozen headers (#186443) 2026-03-20 11:22:42 -04:00
sift_down.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
simd_utils.h [libc++][C++03] Remove code that is not used in C++03 (#134045) 2025-05-06 09:53:56 +02:00
sort.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
sort_heap.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
stable_partition.h
stable_sort.h
swap_ranges.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
three_way_comp_ref_type.h [libc++][C++03] Remove code that is not used in C++03 (#134045) 2025-05-06 09:53:56 +02:00
transform.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
uniform_random_bit_generator_adaptor.h [libc++][C++03] Remove code that is not used in C++03 (#134045) 2025-05-06 09:53:56 +02:00
unique.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
unique_copy.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
unwrap_iter.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
unwrap_range.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00
upper_bound.h [libc++][C++03] Remove macros that expand to nothing (#134046) 2025-05-14 08:54:42 +02:00