Algorithm library

Constrained algorithms and algorithms on ranges  (C++20)  
---  
Constrained algorithms, e.g.  ` ranges::copy ` ,  ` ranges::sort ` , ...  
Execution policies  (C++17)  
|  |  is_execution_policy  (C++17)   
---  
  
|  execution::seq  execution::par  execution::par_unseq  execution::unseq
(C++17)  (C++17)  (C++17)  (C++20)  
---  
  
|  |  execution::sequenced_policy  execution::parallel_policy  execution::parallel_unsequenced_policy  execution::parallel_unsequenced  (C++17)  (C++17)  (C++17)  (C++20)   
---  
  
|  Non-modifying sequence operations  
---  
Batch operations  
|  for_each  
---  
  
|  for_each_n  (C++17)  
---  
  
Search operations  
|  all_of  any_of  none_of  (C++11)  (C++11)  (C++11)  
---  
count  count_if  
mismatch  
equal  
  
  
  
|  find  find_if  find_if_not  (C++11)  
---  
find_end  
find_first_of  
adjacent_find  
search  
search_n  
  
Modifying sequence operations  
Copy operations  
|  copy  copy_if  (C++11)  
---  
copy_backward  
  
|  copy_n  (C++11)  
---  
move  (C++11)  
move_backward  (C++11)  
  
Swap operations  
|  swap  
---  
iter_swap  
  
|  swap_ranges  
---  
  
  
  
Transformation operations  
|  replace  replace_if  
---  
transform  
  
|  replace_copy  replace_copy_if  
---  
  
  
  
Generation operations  
|  fill  
---  
fill_n  
  
|  generate  
---  
generate_n  
  
Removing operations  
|  remove  remove_if  
---  
unique  
  
|  remove_copy  remove_copy_if  
---  
unique_copy  
  
Order-changing operations  
|  reverse  
---  
reverse_copy  
rotate  
rotate_copy  
  
|  random_shuffle  shuffle  (until C++17)  (C++11)  
---  
shift_left  shift_right  (C++20)  (C++20)  
  
Sampling operations  
|  sample  (C++17)  
---  
  
|  
  
---  
  
|  Sorting and related operations  
---  
Partitioning operations  
|  partition  
---  
partition_copy  (C++11)  
stable_partition  
  
|  is_partitioned  (C++11)  
---  
partition_point  (C++11)  
  
  
  
Sorting operations  
|  sort  
---  
stable_sort  
partial_sort  
partial_sort_copy  
  
|  is_sorted  (C++11)  
---  
is_sorted_until  (C++11)  
nth_element  
  
  
  
Binary search operations  
(on partitioned ranges)  
|  lower_bound  
---  
upper_bound  
  
|  equal_range  
---  
binary_search  
  
Set operations (on sorted ranges)  
|  includes  
---  
set_union  
set_intersection  
  
|  set_difference  
---  
set_symmetric_difference  
  
  
  
Merge operations (on sorted ranges)  
|  merge  
---  
  
|  inplace_merge  
---  
  
Heap operations  
|  push_heap  
---  
pop_heap  
make_heap  
  
|  sort_heap  
---  
is_heap  (C++11)  
is_heap_until  (C++11)  
  
Minimum/maximum operations  
|  max  
---  
min  
minmax  (C++11)  
clamp  (C++17)  
  
|  max_element  
---  
min_element  
minmax_element  (C++11)  
  
  
  
Lexicographical comparison operations  
lexicographical_compare  
lexicographical_compare_three_way  (C++20)  
Permutation operations  
|  next_permutation  
---  
prev_permutation  
  
  
  
|  is_permutation  (C++11)  
---  
  
  
  
  
  
C library  
|  qsort  
---  
  
|  bsearch  
---  
  
Numeric operations  
|  |  iota  (C++11)   
---  
inner_product  
adjacent_difference  
  
|  accumulate  
---  
reduce  (C++17)  
transform_reduce  (C++17)  
  
|  |  partial_sum   
---  
inclusive_scan  (C++17)  
exclusive_scan  (C++17)  
  
|  transform_inclusive_scan  (C++17)  
---  
transform_exclusive_scan  (C++17)  
  
  
  
Operations on uninitialized memory  
|  |  uninitialized_copy   
---  
uninitialized_move  (C++17)  
uninitialized_fill  
  
  
  
|  uninitialized_copy_n  (C++11)  
---  
uninitialized_move_n  (C++17)  
uninitialized_fill_n  
  
  
  
|  |  destroy  (C++17)   
---  
destroy_n  (C++17)  
destroy_at  (C++17)  
construct_at  (C++20)  
  
|  uninitialized_default_construct  (C++17)  
---  
uninitialized_value_construct  (C++17)  
uninitialized_default_construct_n  (C++17)  
uninitialized_value_construct_n  (C++17)  
  
[edit]