[PATCH 2/3] libstdc++: Convert the ranges algorithm entities into function objects

Jonathan Wakely jwakely@redhat.com
Sat Feb 15 01:53:00 GMT 2020


On 14/02/20 10:35 -0500, Patrick Palka wrote:
>This is the standard way to inhibit ADL for these entities, which is required as
>per [algorithms.requirements] p2 and [specialized.algorithms] p4.  The
>conversion was done mostly mechanically with a custom Vim macro.
>
>[  To make it easier to review, the diffstat below was generated with the -w
>   flag, which ignores all changes to whitespace.  Formatting will be fixed in a
>   subsequent patch.  ]
>
>libstdc++-v3/ChangeLog:
>
>	* include/bits/ranges_algo.h: (adjacent_find, all_of, any_of,
>	binary_search, copy_if, count, count_if, equal_range, find, find_end,
>	find_first_of, find_if, find_if_not, for_each, generate, generate_n,
>	includes, inplace_merge, is_heap, is_heap_until, is_partitioned,
>	is_permutation, is_sorted, is_sorted_until, lexicographical_compare,
>	lower_bound, make_heap, max, max_element, merge, min, min_element,
>	minmax, minmax_element, mismatch, next_permutation, none_of,
>	nth_element, partial_sort, partial_sort_copy, partition, partition_copy,
>	partition_point, pop_heap, prev_permutation, push_heap, remove,
>	remove_copy, remove_copy_if, remove_if, replace, replace_copy,
>	replace_copy_if, replace_if, reverse, reverse_copy, rotate, rotate_copy,
>	search, search_n, set_difference, set_intersection,
>	set_symmetric_difference, set_union, shuffle, sort, sort_heap,
>	stable_partition, stable_sort, swap_ranges, transform, unique,
>	unique_copy, upper_bound): Convert into function objects.
>	* include/bits/ranges_algobase.h: (equal, copy, move, copy_n, fill_n,
>	fill, move_backward, copy_backward): Likewise.
>	* include/bits/ranges_uninitialized.h (uninitialized_default_construct,
>	uninitialized_default_construct_n, uninitialized_value_construct,
>	uninitialized_value_construct_n, uninitialized_copy,
>	uninitialized_copy_n, uninitialized_move, uninitialized_move_n,
>	uninitialized_fill, uninitialized_fill_n, construct_at, destroy_at,
>	destroy, destroy_n): Likewise.

OK for master, thanks.



More information about the Libstdc++ mailing list