Skip to content

Latest commit

 

History

History
251 lines (241 loc) · 20 KB

algorithm.md

File metadata and controls

251 lines (241 loc) · 20 KB

Header <algorithm> implementation status

Reference
Implementation

  • : Cannot implement with language itself. Need compiler support. Used C++ N STL
  • : Partially implemented with C++ N
  • : Fully implemented with C++ N
  • : Not yet implemented
Features Standard Implemented in
Includes
<initializer_list>
Classes
Return types
ranges::in_fun_result
ranges::in_in_result
ranges::in_out_result
ranges::in_in_out_result
ranges::in_out_out_result
ranges::min_max_result
ranges::in_found_result
ranges::in_value_result
ranges::out_value_result
Functions
Non-modifying sequence operations
all_of
any_of
none_of


for_each
for_each_n
count
count_if
mismatch
find
find_if
find_if_not


find_end
find_first_of
adjacent_find
search
search_n
Modifying sequence operations
copy
copy_if

copy_n
copy_backward
move
move_backward
fill
fill_n
transform
generate
generate_n
remove
remove_if
remove_copy
remove_copy_if
replace
replace_if
replace_copy
replace_copy_if
swap
swap_ranges
iter_swap
reverse
reverse_copy
rotate
rotate_copy
shift_left
shift_right
random_shuffle
shuffle

sample
unique
unique_copy
Partitioning operations
is_partitioned
partition
partition_copy
stable_partition
partition_point
Sorting operations
is_sorted
is_sorted_until
sort
partial_sort
partial_sort_copy
stable_sort
nth_element
Binary search operations (on sorted ranges)
lower_bound
upper_bound
binary_search
equal_range
Other operations on sorted ranges
merge
inplace_merge
Set operations (on sorted ranges)
includes
set_difference
set_intersection
set_symmetric_difference
set_union
Heap operations
is_heap
is_heap_until
make_heap
push_heap
pop_heap
sort_heap
Minimum/maximum operations
max
max_element
min
min_element
minmax
minmax_element
clamp
Comparison operations
equal
lexicographical_compare
lexicographical_compare_three_way
Permutation operations
is_permutation
next_permutation
prev_permutation
Function-like entities
Non-modifying sequence operations
ranges::all_of
ranges::any_of
ranges::none_of


ranges::for_each
ranges::for_each_n
ranges::count
ranges::count_if

ranges::mismatch
ranges::find
ranges::find_if
ranges::find_if_not


ranges::find_last
ranges::find_last_if
ranges::find_last_if_not


ranges::find_end
ranges::find_first_of
ranges::adjacent_find
ranges::search
ranges::search_n
ranges::contains
ranges::contains_subrange

ranges::starts_with
ranges::ends_with
Fold operations
ranges::fold_left
ranges::fold_left_first
ranges::fold_right
ranges::fold_right_last
ranges::fold_left_with_iter
ranges::fold_left_first_with_iter
Modifying sequence operations
ranges::copy
ranges::copy_if

ranges::copy_n
ranges::copy_backward
ranges::move
ranges::move_backward
ranges::fill
ranges::fill_n
ranges::transform
ranges::generate
ranges::generate_n
ranges::remove
ranges::remove_if

ranges::remove_copy
ranges::remove_copy_if

ranges::replace
ranges::replace_if

ranges::replace_copy
ranges::replace_copy_if

ranges::swap_ranges
ranges::reverse
ranges::reverse_copy
ranges::rotate
ranges::rotate_copy
ranges::shift_left
ranges::shift_right
ranges::sample
ranges::shuffle
ranges::unique
ranges::unique_copy
Partitioning operations
ranges::is_partitioned
ranges::partition
ranges::partition_copy
ranges::stable_partition
ranges::partition_point
Sorting operations
ranges::is_sorted
ranges::is_sorted_until
ranges::sort
ranges::partial_sort
ranges::partial_sort_copy
ranges::stable_sort
ranges::nth_element
Binary search operations (on sorted ranges)
ranges::lower_bound
ranges::upper_bound
ranges::binary_search
ranges::equal_range
Other operations on sorted ranges
ranges::merge
ranges::inplace_merge
Set operations (on sorted ranges)
ranges::includes
ranges::set_difference
ranges::set_intersection
ranges::set_symmetric_difference
ranges::set_union
Heap operations
ranges::is_heap
ranges::is_heap_until
ranges::make_heap
ranges::push_heap
ranges::pop_heap
ranges::sort_heap
Minimum/maximum operations
ranges::max
ranges::max_element
ranges::min
ranges::min_element
ranges::minmax
ranges::minmax_element
ranges::clamp
Comparison operations
ranges::equal
ranges::lexicographical_compare
Permutation operations
ranges::is_permutation
ranges::next_permutation
ranges::prev_permutation