-
-
Notifications
You must be signed in to change notification settings - Fork 509
Closed
Labels
Milestone
Description
The proposed ranges library includes slight (mostly non-breaking) changes to the standard algorithms. Those are described in N4569: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/n4569.pdf
Edit: here is an updated version of this document: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4685.pdf
We should adapt our algorithms to conform to this proposal (as much as possible).
Here is the list of algorithms which need to be adapted:
-
adjacent_difference(Adjacent #5564) -
adjacent_find(Adapt adjacent_find to C++20 #4996) -
all_ofany_ofnone_of(Adapted parallel::{all_of|any_of|none_of} for Ranges TS (see #1668) #2985) -
copycopy_ifcopy_n( Adding first batch of container algorithms #1911) -
move(Added range version of parallel::move #3028) -
countcount_if(Adapted parallel::{count|count_if} for Ranges TS (see #1668) #3169) -
equal(Adapting hpx::equal to be conforming to C++20 #4883)mismatch(Adapting mismatch to C++20 #4884) -
exclusive_scan(Adapt exclusive_scan to C++20 #5436)inclusive_scan(Adapt inclusive_scan to C++ 20 #5439) -
reduce -
transform(see Adapt transform for #1668 #1671) -
fillfill_n(see parallel::{fill|fill_n} updated for Ranges TS. #3194) -
findfind_endfind_first_offind_iffind_if_not(Adapting hpx::find and friends to C++20 #4885) -
for_eachfor_each_n(see Adapt transform for #1668 #1671) -
generategenerate_n(see More segmented algorithms #1968) -
is_heapis_heap_until(see Adapt parallel::is_heap and parallel::is_heap_until to Ranges TS. #2788) -
is_partitioned(Adapt is_partitioned to C++20 #5006) -
is_sortedis_sorted_until(Adapt is_sorted and is_sorted_until to C++20 #5025) -
lexicographical_compare(Adapt lexicographical_compare to C++20 #5350) -
max_elementmin_elementminmax_element(More segmented algorithms #1968) -
make_heap(Adding parallel make_heap #4964) -
sort( Adding first batch of container algorithms #1911) -
partial_sortpartial_sort_copy(Add partial_sort_copy and adapt partial sort to c++ 20 #5630) -
nth_element(Add nth_element #5592) -
stable_sort(Adding range version of stable sort #4817) -
partition(Implement parallel::partition. #2778, Adapt partition, partition_copy and stable_partition to C++ 20 #5540) -
partition_copy(see Implement parallel::partition_copy. #2716, Adapt partition, partition_copy and stable_partition to C++ 20 #5540) -
stable_partition(Adapt partition, partition_copy and stable_partition to C++ 20 #5540) -
removeremove_if(see Implement parallel::remove and parallel::remove_if #3086) -
remove_copyremove_copy_if(Container algorithms #1922) -
replacereplace_copyreplace_copy_ifreplace_if(Container algorithms #1922) -
reversereverse_copy(Container algorithms #1922) -
rotaterotate_copy(Container algorithms #1922) -
searchsearch_n(Adaptsearchto C++20 and Range TS #5066) -
set_differenceset_intersectionset_symmetric_differenceset_unionincludes(Making set algorithms conform to C++20 #4970) -
inplace_merge(Implement parallel::inplace_merge. #2978)merge(Implement parallel::merge. #2833) -
swap_ranges(Adapt swap_ranges to C++ 20 #5449) -
uninitialized_copyuninitialized_copy_n(Adapt uninitialized_copy and uninitialized_copy_n to C++ 20 #5371) -
uninitialized_filluninitialized_fill_n(Adapt uninitialized_fill and uninitialized_fill_n to C++ 20 #5402) -
uninitialized_default_constructuninitialized_default_construct_n(Adapt uninitialized_default_construct and uninitialized_default_construct_n to C++ 20 #5415) -
uninitialized_value_constructuninitialized_value_construct_n(Adapt uninitialized_value_construct and uninitialized_value_construct_n to C++ 20 #5416) -
uninitialized_moveuninitialized_move_n(Adapt uninitialized_move and uninitialized_move_n to C++ 20 #5389) -
destroy,destroy_n(Making destroy and destroy_n conforming to C++20 #4869) -
unique(see Implement parallel::unique. #2867) -
unique_copy(see Implement parallel::unique_copy. #2754)
These were added by N4310:
-
transform_reduce(Making transform_reduce conforming to C++20 #4925) -
transform_exclusive_scan(Adapt transform_exclusive_scan to C++ 20 #5440)transform_inclusive_scan(Adapt transform_inclusive_scan to C++ 20 #5444)
Reactions are currently unavailable