<algorithm> Members

Reference

Functions

adjacent_find

Searches for two adjacent elements that are either equal or satisfy a specified condition.

binary_search

Tests whether there is an element in a sorted range that is equal to a specified value or that is equivalent to it in a sense specified by a binary predicate.

checked_copy

Same as copy, but enforces the use of a checked iterator as output iterator.

checked_copy_backward

Same as copy_backward, but enforces the use of a checked iterator as output iterator.

checked_fill_n

Same as fill_n, but enforces the use of a checked iterator as output iterator.

checked_generate_n

Same as generate_n, but enforces the use of a checked iterator as output iterator.

checked_merge

Same as merge, but enforces the use of a checked iterator as output iterator.

checked_remove_copy

Same as remove_copy, but enforces the use of a checked iterator as output iterator.

checked_remove_copy_if

Same as remove_copy_if but enforces the use of a checked iterator as output iterator.

checked_replace_copy

Same as replace_copy, but enforces the use of a checked iterator as output iterator.

checked_replace_copy_if

Same as replace_copy_if but enforces the use of a checked iterator as output iterator.

checked_reverse_copy

Same as reverse_copy but enforces the use of a checked iterator as output iterator.

checked_rotate_copy

Same as rotate_copy but enforces the use of a checked iterator as output iterator.

checked_set_difference

Same as set_difference but enforces the use of a checked iterator as output iterator.

checked_set_intersection

Same as set_intersection but enforces the use of a checked iterator as output iterator.

checked_set_symmetric_difference

Same as set_symmetric_difference but enforces the use of a checked iterator as output iterator.

checked_set_union

Same as set_union but enforces the use of a checked iterator as output iterator.

checked_unique_copy

Same as unique_copy but enforces the use of a checked iterator as output iterator.

copy

Assigns the values of elements from a source range to a destination range, iterating through the source sequence of elements and assigning them new positions in a forward direction.

copy_backward

Assigns the values of elements from a source range to a destination range, iterating through the source sequence of elements and assigning them new positions in a backward direction.

count

Returns the number of elements in a range whose values match a specified value.

count_if

Returns the number of elements in a range whose values match a specified condition.

equal

Compares two ranges element by element either for equality or equivalence in a sense specified by a binary predicate.

equal_range

Finds a pair of positions in an ordered range, the first less than or equivalent to the position of a specified element and the second greater than the element's position, where the sense of equivalence or ordering used to establish the positions in the sequence may be specified by a binary predicate.

fill

Assigns the same new value to every element in a specified range.

fill_n

Assigns a new value to a specified number of elements in a range beginning with a particular element.

find

Locates the position of the first occurrence of an element in a range that has a specified value.

find_end

Looks in a range for the last subsequence that is identical to a specified sequence or that is equivalent in a sense specified by a binary predicate.

find_first_of

Searches for the first occurrence of any of several values within a target range or for the first occurrence of any of several elements that are equivalent in a sense specified by a binary predicate to a specified set of the elements.

find_if

Locates the position of the first occurrence of an element in a range that satisfies a specified condition.

for_each

Applies a specified function object to each element in a forward order within a range and returns the function object.

generate

Assigns the values generated by a function object to each element in a range.

generate_n

Assigns the values generated by a function object to a specified number of element is a range and returns to the position one past the last assigned value.

includes

Tests whether one sorted range contains all the elements contained in a second sorted range, where the ordering or equivalence criterion between elements may be specified by a binary predicate.

inplace_merge

Combines the elements from two consecutive sorted ranges into a single sorted range, where the ordering criterion may be specified by a binary predicate.

iter_swap

Exchanges two values referred to by a pair of specified iterators.

lexicographical_compare

Compares element by element between two sequences to determine which is lesser of the two.

lower_bound

Finds the position of the first element in an ordered range that has a value less than or equivalent to a specified value, where the ordering criterion may be specified by a binary predicate.

make_checked_array_iterator

Creates a checked_array_iterator that can be used by other algorithms.

make_heap

Converts elements from a specified range into a heap in which the first element is the largest and for which a sorting criterion may be specified with a binary predicate.

max

Compares two objects and returns the larger of the two, where the ordering criterion may be specified by a binary predicate.

max_element

Finds the first occurrence of largest element in a specified range where the ordering criterion may be specified by a binary predicate.

merge

Combines all the elements from two sorted source ranges into a single, sorted destination range, where the ordering criterion may be specified by a binary predicate.

min

Compares two objects and returns the lesser of the two, where the ordering criterion may be specified by a binary predicate.

min_element

Finds the first occurrence of smallest element in a specified range where the ordering criterion may be specified by a binary predicate.

mismatch

Compares two ranges element by element either for equality or equivalent in a sense specified by a binary predicate and locates the first position where a difference occurs.

next_permutation

Reorders the elements in a range so that the original ordering is replaced by the lexicographically next greater permutation if it exists, where the sense of next may be specified with a binary predicate.

nth_element

Partitions a range of elements, correctly locating the nth element of the sequence in the range so that all the elements in front of it are less than or equal to it and all the elements that follow it in the sequence are greater than or equal to it.

partial_sort

Arranges a specified number of the smaller elements in a range into a nondescending order or according to an ordering criterion specified by a binary predicate.

partial_sort_copy

Copies elements from a source range into a destination range where the source elements are ordered by either less than or another specified binary predicate.

partition

Classifies elements in a range into two disjoint sets, with those elements satisfying a unary predicate preceding those that fail to satisfy it.

pop_heap

Removes the largest element from the front of a heap to the next-to-last position in the range and then forms a new heap from the remaining elements.

prev_permutation

Reorders the elements in a range so that the original ordering is replaced by the lexicographically next greater permutation if it exists, where the sense of next may be specified with a binary predicate.

push_heap

Adds an element that is at the end of a range to an existing heap consisting of the prior elements in the range.

random_shuffle

Rearranges a sequence of N elements in a range into one of N! possible arrangements selected at random.

remove

Eliminates a specified value from a given range without disturbing the order of the remaining elements and returning the end of a new range free of the specified value.

remove_copy

Copies elements from a source range to a destination range, except that elements of a specified value are not copied, without disturbing the order of the remaining elements and returning the end of a new destination range.

remove_copy_if

Copies elements from a source range to a destination range, except that satisfying a predicate are not copied, without disturbing the order of the remaining elements and returning the end of a new destination range.

remove_if

Eliminates elements that satisfy a predicate from a given range without disturbing the order of the remaining elements and returning the end of a new range free of the specified value.

replace

Examines each element in a range and replaces it if it matches a specified value.

replace_copy

Examines each element in a source range and replaces it if it matches a specified value while copying the result into a new destination range.

replace_copy_if

Examines each element in a source range and replaces it if it satisfies a specified predicate while copying the result into a new destination range.

replace_if

Examines each element in a range and replaces it if it satisfies a specified predicate.

reverse

Reverses the order of the elements within a range.

reverse_copy

Reverses the order of the elements within a source range while copying them into a destination range

rotate

Exchanges the elements in two adjacent ranges.

rotate_copy

Exchanges the elements in two adjacent ranges within a source range and copies the result to a destination range.

search

Searches for the first occurrence of a sequence within a target range whose elements are equal to those in a given sequence of elements or whose elements are equivalent in a sense specified by a binary predicate to the elements in the given sequence.

search_n

Searches for the first subsequence in a range that of a specified number of elements having a particular value or a relation to that value as specified by a binary predicate.

set_difference

Unites all of the elements that belong to one sorted source range, but not to a second sorted source range, into a single, sorted destination range, where the ordering criterion may be specified by a binary predicate.

set_intersection

Unites all of the elements that belong to both sorted source ranges into a single, sorted destination range, where the ordering criterion may be specified by a binary predicate.

set_symmetric_difference

Unites all of the elements that belong to one, but not both, of the sorted source ranges into a single, sorted destination range, where the ordering criterion may be specified by a binary predicate.

set_union

Unites all of the elements that belong to at least one of two sorted source ranges into a single, sorted destination range, where the ordering criterion may be specified by a binary predicate.

sort

Arranges the elements in a specified range into a nondescending order or according to an ordering criterion specified by a binary predicate.

sort_heap

Converts a heap into a sorted range.

stable_partition

Classifies elements in a range into two disjoint sets, with those elements satisfying a unary predicate preceding those that fail to satisfy it, preserving the relative order of equivalent elements.

stable_sort

Arranges the elements in a specified range into a nondescending order or according to an ordering criterion specified by a binary predicate and preserves the relative ordering of equivalent elements.

swap

Exchanges the values of the elements between two types of objects, assigning the contents of the first object to the second object and the contents of the second to the first.

swap_ranges

Exchanges the elements of one range with the elements of another, equal sized range.

transform

Applies a specified function object to each element in a source range or to a pair of elements from two source ranges and copies the return values of the function object into a destination range.

unchecked_copy

Same as copy, but enforces the use of an unchecked iterator as output iterator when _SECURE_SCL=1 is defined.

unchecked_copy_backward

Same as copy_backward, but enforces the use of an unchecked iterator as output iterator when _SECURE_SCL=1 is defined.

unchecked_fill_n

Same as fill_n, but enforces the use of an unchecked iterator as output iterator when _SECURE_SCL=1 is defined.

unchecked_generate_n

Same as generate_n, but enforces the use of an unchecked iterator as output iterator when _SECURE_SCL=1 is defined.

unchecked_merge

Same as merge, but enforces the use of an unchecked iterator as output iterator when _SECURE_SCL=1 is defined.

unchecked_remove_copy

Same as remove_copy, but enforces the use of an unchecked iterator as output iterator when _SECURE_SCL=1 is defined.

unchecked_remove_copy_if

Same as remove_copy_if, but enforces the use of an unchecked iterator as output iterator when _SECURE_SCL=1 is defined.

unchecked_replace_copy

Same as replace_copy, but enforces the use of an unchecked iterator as output iterator when _SECURE_SCL=1 is defined.

unchecked_replace_copy_if

Same as replace_copy_if, but enforces the use of an unchecked iterator as output iterator when _SECURE_SCL=1 is defined.

unchecked_reverse_copy

Same as reverse_copy, but enforces the use of an unchecked iterator as output iterator when _SECURE_SCL=1 is defined.

unchecked_rotate_copy

Same as rotate_copy, but enforces the use of an unchecked iterator as output iterator when _SECURE_SCL=1 is defined.

unchecked_set_difference

Same as set_difference, but enforces the use of an unchecked iterator as output iterator when _SECURE_SCL=1 is defined.

unchecked_set_intersection

Same as set_intersection, but enforces the use of an unchecked iterator as output iterator when _SECURE_SCL=1 is defined.

unchecked_set_symmetric_difference

Same as set_symmetric_difference, but enforces the use of an unchecked iterator as output iterator when _SECURE_SCL=1 is defined.

unchecked_set_union

Same as set_union, but enforces the use of an unchecked iterator as output iterator when _SECURE_SCL=1 is defined.

unchecked_unique_copy

Same as unique_copy, but enforces the use of an unchecked iterator as output iterator when _SECURE_SCL=1 is defined.

unique

Removes duplicate elements that are adjacent to each other in a specified range.

unique_copy

Copies elements from a source range into a destination range except for the duplicate elements that are adjacent to each other.

upper_bound

Finds the position of the first element in an ordered range that has a value that is greater than a specified value, where the ordering criterion may be specified by a binary predicate.

See Also

Concepts

<algorithm>

Thread Safety in the Standard C++ Library

Standard Template Library