gcc/libstdc++-v3/testsuite/25_algorithms
Patrick Palka b4aadc6015 libstdc++: Directly implement ranges::shuffle [PR100795]
PR libstdc++/100795

libstdc++-v3/ChangeLog:

	* include/bits/ranges_algo.h (shuffle_fn::operator()):
	Reimplement directly, based on the stl_algo.h implementation.
	* testsuite/25_algorithms/shuffle/constrained.cc (test02):
	New test.

Reviewed-by: Jonathan Wakely <jwakely@redhat.com>
2025-06-27 13:53:40 -04:00
..
adjacent_find Update copyright years. 2025-01-02 11:59:57 +01:00
advance/istreambuf_iterators Update copyright years. 2025-01-02 11:59:57 +01:00
all_of Update copyright years. 2025-01-02 11:59:57 +01:00
any_of Update copyright years. 2025-01-02 11:59:57 +01:00
binary_search Update copyright years. 2025-01-02 11:59:57 +01:00
clamp libstdc++: perfectly forward std::ranges::clamp arguments 2025-01-20 10:49:48 -05:00
contains libstdc++: Add some missing ranges feature-test macro tests 2024-08-22 11:24:07 -04:00
contains_subrange libstdc++: Remove dg-options "-std=gnu++23" from remaining tests 2023-09-15 21:57:40 +01:00
copy libstdc++: Simplify __memcpyable_iterators concept 2025-03-08 10:39:56 +00:00
copy_backward libstdc++: Simplify __memcpyable_iterators concept 2025-03-08 10:39:56 +00:00
copy_if Update copyright years. 2025-01-02 11:59:57 +01:00
copy_n libstdc++: Simplify __memcpyable_iterators concept 2025-03-08 10:39:56 +00:00
count Update copyright years. 2025-01-02 11:59:57 +01:00
count_if Update copyright years. 2025-01-02 11:59:57 +01:00
ends_with libstdc++: Implement C++23 P1659R3 starts_with and ends_with 2025-06-04 10:29:47 -04:00
equal Update copyright years. 2025-01-02 11:59:57 +01:00
equal_range Update copyright years. 2025-01-02 11:59:57 +01:00
fill Update copyright years. 2025-01-02 11:59:57 +01:00
fill_n Update copyright years. 2025-01-02 11:59:57 +01:00
find Update copyright years. 2025-01-02 11:59:57 +01:00
find_end Update copyright years. 2025-01-02 11:59:57 +01:00
find_first_of Update copyright years. 2025-01-02 11:59:57 +01:00
find_if Update copyright years. 2025-01-02 11:59:57 +01:00
find_if_not Update copyright years. 2025-01-02 11:59:57 +01:00
find_last libstdc++: Add some missing ranges feature-test macro tests 2024-08-22 11:24:07 -04:00
find_last_if libstdc++: Remove dg-options "-std=gnu++23" from remaining tests 2023-09-15 21:57:40 +01:00
find_last_if_not libstdc++: Remove dg-options "-std=gnu++23" from remaining tests 2023-09-15 21:57:40 +01:00
fold_left libstdc++: Test for feature test macros more accurately 2023-11-16 08:06:59 +00:00
fold_right libstdc++: Remove dg-options "-std=gnu++23" from remaining tests 2023-09-15 21:57:40 +01:00
for_each Update copyright years. 2025-01-02 11:59:57 +01:00
generate Update copyright years. 2025-01-02 11:59:57 +01:00
generate_n Update copyright years. 2025-01-02 11:59:57 +01:00
headers libstdc++: add constexpr stable_partition 2025-03-27 13:47:30 +01:00
heap libstdc++: Directly implement ranges::heap algos [PR100795] 2025-06-27 13:52:56 -04:00
includes Update copyright years. 2025-01-02 11:59:57 +01:00
inplace_merge libstdc++: Directly implement ranges::inplace_merge [PR100795] 2025-06-27 13:53:26 -04:00
is_heap Update copyright years. 2025-01-02 11:59:57 +01:00
is_heap_until Update copyright years. 2025-01-02 11:59:57 +01:00
is_partitioned Update copyright years. 2025-01-02 11:59:57 +01:00
is_permutation libstdc++: fix a dangling reference crash in ranges::is_permutation [PR118160] 2025-02-07 14:53:30 +00:00
is_sorted Update copyright years. 2025-01-02 11:59:57 +01:00
is_sorted_until Update copyright years. 2025-01-02 11:59:57 +01:00
iter_swap Update copyright years. 2025-01-02 11:59:57 +01:00
lexicographical_compare Update copyright years. 2025-01-02 11:59:57 +01:00
lexicographical_compare_three_way Update copyright years. 2025-01-02 11:59:57 +01:00
lower_bound Update copyright years. 2025-01-02 11:59:57 +01:00
make_heap Update copyright years. 2025-01-02 11:59:57 +01:00
max Update copyright years. 2025-01-02 11:59:57 +01:00
max_element Update copyright years. 2025-01-02 11:59:57 +01:00
merge Update copyright years. 2025-01-02 11:59:57 +01:00
min Update copyright years. 2025-01-02 11:59:57 +01:00
min_element Update copyright years. 2025-01-02 11:59:57 +01:00
minmax Update copyright years. 2025-01-02 11:59:57 +01:00
minmax_element Update copyright years. 2025-01-02 11:59:57 +01:00
mismatch Update copyright years. 2025-01-02 11:59:57 +01:00
move libstdc++: Move new functions to separate files [PR119110] 2025-03-05 22:10:26 +00:00
move_backward libstdc++: Move new functions to separate files [PR119110] 2025-03-05 22:10:26 +00:00
next_permutation Update copyright years. 2025-01-02 11:59:57 +01:00
none_of Update copyright years. 2025-01-02 11:59:57 +01:00
nth_element libstdc++: Directly implement ranges::nth_element [PR100795] 2025-06-27 13:53:34 -04:00
partial_sort Update copyright years. 2025-01-02 11:59:57 +01:00
partial_sort_copy Update copyright years. 2025-01-02 11:59:57 +01:00
partition Update copyright years. 2025-01-02 11:59:57 +01:00
partition_copy Update copyright years. 2025-01-02 11:59:57 +01:00
partition_point Update copyright years. 2025-01-02 11:59:57 +01:00
pop_heap Update copyright years. 2025-01-02 11:59:57 +01:00
prev_permutation Update copyright years. 2025-01-02 11:59:57 +01:00
pstl Update copyright years. 2025-01-02 11:59:57 +01:00
push_heap Update copyright years. 2025-01-02 11:59:57 +01:00
random_shuffle Update copyright years. 2025-01-02 11:59:57 +01:00
remove Update copyright years. 2025-01-02 11:59:57 +01:00
remove_copy Update copyright years. 2025-01-02 11:59:57 +01:00
remove_copy_if Update copyright years. 2025-01-02 11:59:57 +01:00
remove_if Update copyright years. 2025-01-02 11:59:57 +01:00
replace Update copyright years. 2025-01-02 11:59:57 +01:00
replace_copy Update copyright years. 2025-01-02 11:59:57 +01:00
replace_copy_if Update copyright years. 2025-01-02 11:59:57 +01:00
replace_if Update copyright years. 2025-01-02 11:59:57 +01:00
reverse Update copyright years. 2025-01-02 11:59:57 +01:00
reverse_copy Update copyright years. 2025-01-02 11:59:57 +01:00
rotate Update copyright years. 2025-01-02 11:59:57 +01:00
rotate_copy Update copyright years. 2025-01-02 11:59:57 +01:00
sample libstdc++: Directly implement ranges::sample [PR100795] 2025-06-27 13:53:37 -04:00
search Update copyright years. 2025-01-02 11:59:57 +01:00
search_n Update copyright years. 2025-01-02 11:59:57 +01:00
set_difference Update copyright years. 2025-01-02 11:59:57 +01:00
set_intersection Update copyright years. 2025-01-02 11:59:57 +01:00
set_symmetric_difference Update copyright years. 2025-01-02 11:59:57 +01:00
set_union Update copyright years. 2025-01-02 11:59:57 +01:00
shift_left Update copyright years. 2025-01-02 11:59:57 +01:00
shift_right Update copyright years. 2025-01-02 11:59:57 +01:00
shuffle libstdc++: Directly implement ranges::shuffle [PR100795] 2025-06-27 13:53:40 -04:00
sort libstdc++: Directly implement ranges::sort [PR100795] 2025-06-27 13:53:06 -04:00
sort_heap Update copyright years. 2025-01-02 11:59:57 +01:00
stable_partition libstdc++: Directly implement ranges::stable_partition [PR100795] 2025-06-27 13:53:32 -04:00
stable_sort libstdc++: Directly implement ranges::stable_sort [PR100795] 2025-06-27 13:53:29 -04:00
starts_with libstdc++: Implement C++23 P1659R3 starts_with and ends_with 2025-06-04 10:29:47 -04:00
swap Update copyright years. 2025-01-02 11:59:57 +01:00
swap_ranges Update copyright years. 2025-01-02 11:59:57 +01:00
transform Update copyright years. 2025-01-02 11:59:57 +01:00
unique Update copyright years. 2025-01-02 11:59:57 +01:00
unique_copy libstdc++: Implement LWG 2439 for std::unique_copy [PR120386] 2025-06-02 18:20:28 +01:00
upper_bound Update copyright years. 2025-01-02 11:59:57 +01:00
constexpr_macro.cc Update copyright years. 2025-01-02 11:59:57 +01:00
cpp_lib_constexpr.cc libstdc++: re-bump the feature-test macro for P2562R1 [PR119488] 2025-03-27 13:47:30 +01:00
default_template_value.cc c++: Delete defaulted operator <=> if std::strong_ordering::equal doesn't convert to its rettype [PR118387] 2025-01-15 08:59:46 +01:00