#include <bits/stl_heap.h>#include <bits/stl_tempbuf.h>#include <debug/debug.h>Go to the source code of this file.
Namespaces | |
| namespace | std |
Defines | |
| #define | _ALGO_H 1 |
Enumerations | |
| enum | { std::_S_threshold = 16 } |
| enum | { std::_S_chunk_size = 7 } |
Functions | |
| template<typename _Tp> | |
| const _Tp & | std::__median (const _Tp &__a, const _Tp &__b, const _Tp &__c) |
| Find the median of three values. | |
| template<typename _Tp, typename _Compare> | |
| const _Tp & | std::__median (const _Tp &__a, const _Tp &__b, const _Tp &__c, _Compare __comp) |
| Find the median of three values using a predicate for comparison. | |
| template<typename _InputIterator, typename _Function> | |
| _Function | std::for_each (_InputIterator __first, _InputIterator __last, _Function __f) |
| Apply a function to every element of a sequence. | |
| template<typename _InputIterator, typename _Tp> | |
| _InputIterator | std::__find (_InputIterator __first, _InputIterator __last, const _Tp &__val, input_iterator_tag) |
| template<typename _InputIterator, typename _Predicate> | |
| _InputIterator | std::__find_if (_InputIterator __first, _InputIterator __last, _Predicate __pred, input_iterator_tag) |
| template<typename _RandomAccessIterator, typename _Tp> | |
| _RandomAccessIterator | std::__find (_RandomAccessIterator __first, _RandomAccessIterator __last, const _Tp &__val, random_access_iterator_tag) |
| template<typename _RandomAccessIterator, typename _Predicate> | |
| _RandomAccessIterator | std::__find_if (_RandomAccessIterator __first, _RandomAccessIterator __last, _Predicate __pred, random_access_iterator_tag) |
| template<typename _InputIterator, typename _Tp> | |
| _InputIterator | std::find (_InputIterator __first, _InputIterator __last, const _Tp &__val) |
| Find the first occurrence of a value in a sequence. | |
| template<typename _InputIterator, typename _Predicate> | |
| _InputIterator | std::find_if (_InputIterator __first, _InputIterator __last, _Predicate __pred) |
| Find the first element in a sequence for which a predicate is true. | |
| template<typename _ForwardIterator> | |
| _ForwardIterator | std::adjacent_find (_ForwardIterator __first, _ForwardIterator __last) |
| Find two adjacent values in a sequence that are equal. | |
| template<typename _ForwardIterator, typename _BinaryPredicate> | |
| _ForwardIterator | std::adjacent_find (_ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __binary_pred) |
| Find two adjacent values in a sequence using a predicate. | |
| template<typename _InputIterator, typename _Tp> | |
| iterator_traits< _InputIterator >::difference_type | std::count (_InputIterator __first, _InputIterator __last, const _Tp &__value) |
| Count the number of copies of a value in a sequence. | |
| template<typename _InputIterator, typename _Predicate> | |
| iterator_traits< _InputIterator >::difference_type | std::count_if (_InputIterator __first, _InputIterator __last, _Predicate __pred) |
| Count the elements of a sequence for which a predicate is true. | |
| template<typename _ForwardIterator1, typename _ForwardIterator2> | |
| _ForwardIterator1 | std::search (_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2) |
| Search a sequence for a matching sub-sequence. | |
| template<typename _ForwardIterator1, typename _ForwardIterator2, typename _BinaryPredicate> | |
| _ForwardIterator1 | std::search (_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2, _BinaryPredicate __predicate) |
| Search a sequence for a matching sub-sequence using a predicate. | |
| template<typename _ForwardIterator, typename _Integer, typename _Tp> | |
| _ForwardIterator | std::__search_n (_ForwardIterator __first, _ForwardIterator __last, _Integer __count, const _Tp &__val, std::forward_iterator_tag) |
| template<typename _RandomAccessIter, typename _Integer, typename _Tp> | |
| _RandomAccessIter | std::__search_n (_RandomAccessIter __first, _RandomAccessIter __last, _Integer __count, const _Tp &__val, std::random_access_iterator_tag) |
| template<typename _ForwardIterator, typename _Integer, typename _Tp> | |
| _ForwardIterator | std::search_n (_ForwardIterator __first, _ForwardIterator __last, _Integer __count, const _Tp &__val) |
| Search a sequence for a number of consecutive values. | |
| template<typename _ForwardIterator, typename _Integer, typename _Tp, typename _BinaryPredicate> | |
| _ForwardIterator | std::__search_n (_ForwardIterator __first, _ForwardIterator __last, _Integer __count, const _Tp &__val, _BinaryPredicate __binary_pred, std::forward_iterator_tag) |
| template<typename _RandomAccessIter, typename _Integer, typename _Tp, typename _BinaryPredicate> | |
| _RandomAccessIter | std::__search_n (_RandomAccessIter __first, _RandomAccessIter __last, _Integer __count, const _Tp &__val, _BinaryPredicate __binary_pred, std::random_access_iterator_tag) |
| template<typename _ForwardIterator, typename _Integer, typename _Tp, typename _BinaryPredicate> | |
| _ForwardIterator | std::search_n (_ForwardIterator __first, _ForwardIterator __last, _Integer __count, const _Tp &__val, _BinaryPredicate __binary_pred) |
| Search a sequence for a number of consecutive values using a predicate. | |
| template<typename _ForwardIterator1, typename _ForwardIterator2> | |
| _ForwardIterator2 | std::swap_ranges (_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2) |
| Swap the elements of two sequences. | |
| template<typename _InputIterator, typename _OutputIterator, typename _UnaryOperation> | |
| _OutputIterator | std::transform (_InputIterator __first, _InputIterator __last, _OutputIterator __result, _UnaryOperation __unary_op) |
| Perform an operation on a sequence. | |
| template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator, typename _BinaryOperation> | |
| _OutputIterator | std::transform (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _OutputIterator __result, _BinaryOperation __binary_op) |
| Perform an operation on corresponding elements of two sequences. | |
| template<typename _ForwardIterator, typename _Tp> | |
| void | std::replace (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__old_value, const _Tp &__new_value) |
| Replace each occurrence of one value in a sequence with another value. | |
| template<typename _ForwardIterator, typename _Predicate, typename _Tp> | |
| void | std::replace_if (_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, const _Tp &__new_value) |
| Replace each value in a sequence for which a predicate returns true with another value. | |
| template<typename _InputIterator, typename _OutputIterator, typename _Tp> | |
| _OutputIterator | std::replace_copy (_InputIterator __first, _InputIterator __last, _OutputIterator __result, const _Tp &__old_value, const _Tp &__new_value) |
| Copy a sequence, replacing each element of one value with another value. | |
| template<typename _InputIterator, typename _OutputIterator, typename _Predicate, typename _Tp> | |
| _OutputIterator | std::replace_copy_if (_InputIterator __first, _InputIterator __last, _OutputIterator __result, _Predicate __pred, const _Tp &__new_value) |
| Copy a sequence, replacing each value for which a predicate returns true with another value. | |
| template<typename _ForwardIterator, typename _Generator> | |
| void | std::generate (_ForwardIterator __first, _ForwardIterator __last, _Generator __gen) |
| Assign the result of a function object to each value in a sequence. | |
| template<typename _OutputIterator, typename _Size, typename _Generator> | |
| _OutputIterator | std::generate_n (_OutputIterator __first, _Size __n, _Generator __gen) |
| Assign the result of a function object to each value in a sequence. | |
| template<typename _InputIterator, typename _OutputIterator, typename _Tp> | |
| _OutputIterator | std::remove_copy (_InputIterator __first, _InputIterator __last, _OutputIterator __result, const _Tp &__value) |
| Copy a sequence, removing elements of a given value. | |
| template<typename _InputIterator, typename _OutputIterator, typename _Predicate> | |
| _OutputIterator | std::remove_copy_if (_InputIterator __first, _InputIterator __last, _OutputIterator __result, _Predicate __pred) |
| Copy a sequence, removing elements for which a predicate is true. | |
| template<typename _ForwardIterator, typename _Tp> | |
| _ForwardIterator | std::remove (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__value) |
| Remove elements from a sequence. | |
| template<typename _ForwardIterator, typename _Predicate> | |
| _ForwardIterator | std::remove_if (_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred) |
| Remove elements from a sequence using a predicate. | |
| template<typename _InputIterator, typename _OutputIterator> | |
| _OutputIterator | std::__unique_copy (_InputIterator __first, _InputIterator __last, _OutputIterator __result, output_iterator_tag) |
| template<typename _InputIterator, typename _ForwardIterator> | |
| _ForwardIterator | std::__unique_copy (_InputIterator __first, _InputIterator __last, _ForwardIterator __result, forward_iterator_tag) |
| template<typename _InputIterator, typename _OutputIterator, typename _BinaryPredicate> | |
| _OutputIterator | std::__unique_copy (_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryPredicate __binary_pred, output_iterator_tag) |
| template<typename _InputIterator, typename _ForwardIterator, typename _BinaryPredicate> | |
| _ForwardIterator | std::__unique_copy (_InputIterator __first, _InputIterator __last, _ForwardIterator __result, _BinaryPredicate __binary_pred, forward_iterator_tag) |
| template<typename _InputIterator, typename _OutputIterator> | |
| _OutputIterator | std::unique_copy (_InputIterator __first, _InputIterator __last, _OutputIterator __result) |
| Copy a sequence, removing consecutive duplicate values. | |
| template<typename _InputIterator, typename _OutputIterator, typename _BinaryPredicate> | |
| _OutputIterator | std::unique_copy (_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryPredicate __binary_pred) |
| Copy a sequence, removing consecutive values using a predicate. | |
| template<typename _ForwardIterator> | |
| _ForwardIterator | std::unique (_ForwardIterator __first, _ForwardIterator __last) |
| Remove consecutive duplicate values from a sequence. | |
| template<typename _ForwardIterator, typename _BinaryPredicate> | |
| _ForwardIterator | std::unique (_ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __binary_pred) |
| Remove consecutive values from a sequence using a predicate. | |
| template<typename _BidirectionalIterator> | |
| void | std::__reverse (_BidirectionalIterator __first, _BidirectionalIterator __last, bidirectional_iterator_tag) |
| template<typename _RandomAccessIterator> | |
| void | std::__reverse (_RandomAccessIterator __first, _RandomAccessIterator __last, random_access_iterator_tag) |
| template<typename _BidirectionalIterator> | |
| void | std::reverse (_BidirectionalIterator __first, _BidirectionalIterator __last) |
| Reverse a sequence. | |
| template<typename _BidirectionalIterator, typename _OutputIterator> | |
| _OutputIterator | std::reverse_copy (_BidirectionalIterator __first, _BidirectionalIterator __last, _OutputIterator __result) |
| Copy a sequence, reversing its elements. | |
| template<typename _EuclideanRingElement> | |
| _EuclideanRingElement | std::__gcd (_EuclideanRingElement __m, _EuclideanRingElement __n) |
| template<typename _ForwardIterator> | |
| void | std::__rotate (_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last, forward_iterator_tag) |
| template<typename _BidirectionalIterator> | |
| void | std::__rotate (_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, bidirectional_iterator_tag) |
| template<typename _RandomAccessIterator> | |
| void | std::__rotate (_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last, random_access_iterator_tag) |
| template<typename _ForwardIterator> | |
| void | std::rotate (_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last) |
| Rotate the elements of a sequence. | |
| template<typename _ForwardIterator, typename _OutputIterator> | |
| _OutputIterator | std::rotate_copy (_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last, _OutputIterator __result) |
| Copy a sequence, rotating its elements. | |
| template<typename _RandomAccessIterator> | |
| void | std::random_shuffle (_RandomAccessIterator __first, _RandomAccessIterator __last) |
| Randomly shuffle the elements of a sequence. | |
| template<typename _RandomAccessIterator, typename _RandomNumberGenerator> | |
| void | std::random_shuffle (_RandomAccessIterator __first, _RandomAccessIterator __last, _RandomNumberGenerator &__rand) |
| Shuffle the elements of a sequence using a random number generator. | |
| template<typename _ForwardIterator, typename _Predicate> | |
| _ForwardIterator | std::__partition (_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, forward_iterator_tag) |
| template<typename _BidirectionalIterator, typename _Predicate> | |
| _BidirectionalIterator | std::__partition (_BidirectionalIterator __first, _BidirectionalIterator __last, _Predicate __pred, bidirectional_iterator_tag) |
| template<typename _ForwardIterator, typename _Predicate> | |
| _ForwardIterator | std::partition (_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred) |
| Move elements for which a predicate is true to the beginning of a sequence. | |
| template<typename _ForwardIterator, typename _Predicate, typename _Distance> | |
| _ForwardIterator | std::__inplace_stable_partition (_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, _Distance __len) |
| template<typename _ForwardIterator, typename _Pointer, typename _Predicate, typename _Distance> | |
| _ForwardIterator | std::__stable_partition_adaptive (_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, _Distance __len, _Pointer __buffer, _Distance __buffer_size) |
| template<typename _ForwardIterator, typename _Predicate> | |
| _ForwardIterator | std::stable_partition (_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred) |
| Move elements for which a predicate is true to the beginning of a sequence, preserving relative ordering. | |
| template<typename _RandomAccessIterator, typename _Tp> | |
| _RandomAccessIterator | std::__unguarded_partition (_RandomAccessIterator __first, _RandomAccessIterator __last, _Tp __pivot) |
| template<typename _RandomAccessIterator, typename _Tp, typename _Compare> | |
| _RandomAccessIterator | std::__unguarded_partition (_RandomAccessIterator __first, _RandomAccessIterator __last, _Tp __pivot, _Compare __comp) |
| template<typename _RandomAccessIterator, typename _Tp> | |
| void | std::__unguarded_linear_insert (_RandomAccessIterator __last, _Tp __val) |
| template<typename _RandomAccessIterator, typename _Tp, typename _Compare> | |
| void | std::__unguarded_linear_insert (_RandomAccessIterator __last, _Tp __val, _Compare __comp) |
| template<typename _RandomAccessIterator> | |
| void | std::__insertion_sort (_RandomAccessIterator __first, _RandomAccessIterator __last) |
| template<typename _RandomAccessIterator, typename _Compare> | |
| void | std::__insertion_sort (_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) |
| template<typename _RandomAccessIterator> | |
| void | std::__unguarded_insertion_sort (_RandomAccessIterator __first, _RandomAccessIterator __last) |
| template<typename _RandomAccessIterator, typename _Compare> | |
| void | std::__unguarded_insertion_sort (_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) |
| template<typename _RandomAccessIterator> | |
| void | std::__final_insertion_sort (_RandomAccessIterator __first, _RandomAccessIterator __last) |
| template<typename _RandomAccessIterator, typename _Compare> | |
| void | std::__final_insertion_sort (_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) |
| template<typename _Size> | |
| _Size | std::__lg (_Size __n) |
| template<typename _RandomAccessIterator> | |
| void | std::partial_sort (_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last) |
| Sort the smallest elements of a sequence. | |
| template<typename _RandomAccessIterator, typename _Compare> | |
| void | std::partial_sort (_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last, _Compare __comp) |
| Sort the smallest elements of a sequence using a predicate for comparison. | |
| template<typename _InputIterator, typename _RandomAccessIterator> | |
| _RandomAccessIterator | std::partial_sort_copy (_InputIterator __first, _InputIterator __last, _RandomAccessIterator __result_first, _RandomAccessIterator __result_last) |
| Copy the smallest elements of a sequence. | |
| template<typename _InputIterator, typename _RandomAccessIterator, typename _Compare> | |
| _RandomAccessIterator | std::partial_sort_copy (_InputIterator __first, _InputIterator __last, _RandomAccessIterator __result_first, _RandomAccessIterator __result_last, _Compare __comp) |
| Copy the smallest elements of a sequence using a predicate for comparison. | |
| template<typename _RandomAccessIterator, typename _Size> | |
| void | std::__introsort_loop (_RandomAccessIterator __first, _RandomAccessIterator __last, _Size __depth_limit) |
| template<typename _RandomAccessIterator, typename _Size, typename _Compare> | |
| void | std::__introsort_loop (_RandomAccessIterator __first, _RandomAccessIterator __last, _Size __depth_limit, _Compare __comp) |
| template<typename _RandomAccessIterator> | |
| void | std::sort (_RandomAccessIterator __first, _RandomAccessIterator __last) |
| Sort the elements of a sequence. | |
| template<typename _RandomAccessIterator, typename _Compare> | |
| void | std::sort (_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) |
| Sort the elements of a sequence using a predicate for comparison. | |
| template<typename _ForwardIterator, typename _Tp> | |
| _ForwardIterator | std::lower_bound (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__val) |
| Finds the first position in which val could be inserted without changing the ordering. | |
| template<typename _ForwardIterator, typename _Tp, typename _Compare> | |
| _ForwardIterator | std::lower_bound (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__val, _Compare __comp) |
| Finds the first position in which val could be inserted without changing the ordering. | |
| template<typename _ForwardIterator, typename _Tp> | |
| _ForwardIterator | std::upper_bound (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__val) |
| Finds the last position in which val could be inserted without changing the ordering. | |
| template<typename _ForwardIterator, typename _Tp, typename _Compare> | |
| _ForwardIterator | std::upper_bound (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__val, _Compare __comp) |
| Finds the last position in which val could be inserted without changing the ordering. | |
| template<typename _BidirectionalIterator, typename _Distance> | |
| void | std::__merge_without_buffer (_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Distance __len1, _Distance __len2) |
| template<typename _BidirectionalIterator, typename _Distance, typename _Compare> | |
| void | std::__merge_without_buffer (_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Distance __len1, _Distance __len2, _Compare __comp) |
| template<typename _RandomAccessIterator> | |
| void | std::__inplace_stable_sort (_RandomAccessIterator __first, _RandomAccessIterator __last) |
| template<typename _RandomAccessIterator, typename _Compare> | |
| void | std::__inplace_stable_sort (_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) |
| template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator> | |
| _OutputIterator | std::merge (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result) |
| Merges two sorted ranges. | |
| template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator, typename _Compare> | |
| _OutputIterator | std::merge (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) |
| Merges two sorted ranges. | |
| template<typename _RandomAccessIterator1, typename _RandomAccessIterator2, typename _Distance> | |
| void | std::__merge_sort_loop (_RandomAccessIterator1 __first, _RandomAccessIterator1 __last, _RandomAccessIterator2 __result, _Distance __step_size) |
| template<typename _RandomAccessIterator1, typename _RandomAccessIterator2, typename _Distance, typename _Compare> | |
| void | std::__merge_sort_loop (_RandomAccessIterator1 __first, _RandomAccessIterator1 __last, _RandomAccessIterator2 __result, _Distance __step_size, _Compare __comp) |
| template<typename _RandomAccessIterator, typename _Distance> | |
| void | std::__chunk_insertion_sort (_RandomAccessIterator __first, _RandomAccessIterator __last, _Distance __chunk_size) |
| template<typename _RandomAccessIterator, typename _Distance, typename _Compare> | |
| void | std::__chunk_insertion_sort (_RandomAccessIterator __first, _RandomAccessIterator __last, _Distance __chunk_size, _Compare __comp) |
| template<typename _RandomAccessIterator, typename _Pointer> | |
| void | std::__merge_sort_with_buffer (_RandomAccessIterator __first, _RandomAccessIterator __last, _Pointer __buffer) |
| template<typename _RandomAccessIterator, typename _Pointer, typename _Compare> | |
| void | std::__merge_sort_with_buffer (_RandomAccessIterator __first, _RandomAccessIterator __last, _Pointer __buffer, _Compare __comp) |
| template<typename _BidirectionalIterator1, typename _BidirectionalIterator2, typename _BidirectionalIterator3> | |
| _BidirectionalIterator3 | std::__merge_backward (_BidirectionalIterator1 __first1, _BidirectionalIterator1 __last1, _BidirectionalIterator2 __first2, _BidirectionalIterator2 __last2, _BidirectionalIterator3 __result) |
| template<typename _BidirectionalIterator1, typename _BidirectionalIterator2, typename _BidirectionalIterator3, typename _Compare> | |
| _BidirectionalIterator3 | std::__merge_backward (_BidirectionalIterator1 __first1, _BidirectionalIterator1 __last1, _BidirectionalIterator2 __first2, _BidirectionalIterator2 __last2, _BidirectionalIterator3 __result, _Compare __comp) |
| template<typename _BidirectionalIterator1, typename _BidirectionalIterator2, typename _Distance> | |
| _BidirectionalIterator1 | std::__rotate_adaptive (_BidirectionalIterator1 __first, _BidirectionalIterator1 __middle, _BidirectionalIterator1 __last, _Distance __len1, _Distance __len2, _BidirectionalIterator2 __buffer, _Distance __buffer_size) |
| template<typename _BidirectionalIterator, typename _Distance, typename _Pointer> | |
| void | std::__merge_adaptive (_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Distance __len1, _Distance __len2, _Pointer __buffer, _Distance __buffer_size) |
| template<typename _BidirectionalIterator, typename _Distance, typename _Pointer, typename _Compare> | |
| void | std::__merge_adaptive (_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Distance __len1, _Distance __len2, _Pointer __buffer, _Distance __buffer_size, _Compare __comp) |
| template<typename _BidirectionalIterator> | |
| void | std::inplace_merge (_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last) |
| Merges two sorted ranges in place. | |
| template<typename _BidirectionalIterator, typename _Compare> | |
| void | std::inplace_merge (_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Compare __comp) |
| Merges two sorted ranges in place. | |
| template<typename _RandomAccessIterator, typename _Pointer, typename _Distance> | |
| void | std::__stable_sort_adaptive (_RandomAccessIterator __first, _RandomAccessIterator __last, _Pointer __buffer, _Distance __buffer_size) |
| template<typename _RandomAccessIterator, typename _Pointer, typename _Distance, typename _Compare> | |
| void | std::__stable_sort_adaptive (_RandomAccessIterator __first, _RandomAccessIterator __last, _Pointer __buffer, _Distance __buffer_size, _Compare __comp) |
| template<typename _RandomAccessIterator> | |
| void | std::stable_sort (_RandomAccessIterator __first, _RandomAccessIterator __last) |
| Sort the elements of a sequence, preserving the relative order of equivalent elements. | |
| template<typename _RandomAccessIterator, typename _Compare> | |
| void | std::stable_sort (_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) |
| Sort the elements of a sequence using a predicate for comparison, preserving the relative order of equivalent elements. | |
| template<typename _RandomAccessIterator> | |
| void | std::nth_element (_RandomAccessIterator __first, _RandomAccessIterator __nth, _RandomAccessIterator __last) |
| Sort a sequence just enough to find a particular position. | |
| template<typename _RandomAccessIterator, typename _Compare> | |
| void | std::nth_element (_RandomAccessIterator __first, _RandomAccessIterator __nth, _RandomAccessIterator __last, _Compare __comp) |
| Sort a sequence just enough to find a particular position using a predicate for comparison. | |
| template<typename _ForwardIterator, typename _Tp> | |
| pair< _ForwardIterator, _ForwardIterator > | std::equal_range (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__val) |
| Finds the largest subrange in which val could be inserted at any place in it without changing the ordering. | |
| template<typename _ForwardIterator, typename _Tp, typename _Compare> | |
| pair< _ForwardIterator, _ForwardIterator > | std::equal_range (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__val, _Compare __comp) |
| Finds the largest subrange in which val could be inserted at any place in it without changing the ordering. | |
| template<typename _ForwardIterator, typename _Tp> | |
| bool | std::binary_search (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__val) |
| Determines whether an element exists in a range. | |
| template<typename _ForwardIterator, typename _Tp, typename _Compare> | |
| bool | std::binary_search (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__val, _Compare __comp) |
| Determines whether an element exists in a range. | |
| template<typename _InputIterator1, typename _InputIterator2> | |
| bool | std::includes (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2) |
| Determines whether all elements of a sequence exists in a range. | |
| template<typename _InputIterator1, typename _InputIterator2, typename _Compare> | |
| bool | std::includes (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _Compare __comp) |
| Determines whether all elements of a sequence exists in a range using comparison. | |
| template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator> | |
| _OutputIterator | std::set_union (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result) |
| Return the union of two sorted ranges. | |
| template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator, typename _Compare> | |
| _OutputIterator | std::set_union (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) |
| Return the union of two sorted ranges using a comparison functor. | |
| template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator> | |
| _OutputIterator | std::set_intersection (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result) |
| Return the intersection of two sorted ranges. | |
| template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator, typename _Compare> | |
| _OutputIterator | std::set_intersection (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) |
| Return the intersection of two sorted ranges using comparison functor. | |
| template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator> | |
| _OutputIterator | std::set_difference (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result) |
| Return the difference of two sorted ranges. | |
| template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator, typename _Compare> | |
| _OutputIterator | std::set_difference (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) |
| Return the difference of two sorted ranges using comparison functor. | |
| template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator> | |
| _OutputIterator | std::set_symmetric_difference (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result) |
| Return the symmetric difference of two sorted ranges. | |
| template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator, typename _Compare> | |
| _OutputIterator | std::set_symmetric_difference (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) |
| Return the symmetric difference of two sorted ranges using comparison functor. | |
| template<typename _ForwardIterator> | |
| _ForwardIterator | std::max_element (_ForwardIterator __first, _ForwardIterator __last) |
| Return the maximum element in a range. | |
| template<typename _ForwardIterator, typename _Compare> | |
| _ForwardIterator | std::max_element (_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) |
| Return the maximum element in a range using comparison functor. | |
| template<typename _ForwardIterator> | |
| _ForwardIterator | std::min_element (_ForwardIterator __first, _ForwardIterator __last) |
| Return the minimum element in a range. | |
| template<typename _ForwardIterator, typename _Compare> | |
| _ForwardIterator | std::min_element (_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) |
| Return the minimum element in a range using comparison functor. | |
| template<typename _BidirectionalIterator> | |
| bool | std::next_permutation (_BidirectionalIterator __first, _BidirectionalIterator __last) |
| Permute range into the next "dictionary" ordering. | |
| template<typename _BidirectionalIterator, typename _Compare> | |
| bool | std::next_permutation (_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp) |
| Permute range into the next "dictionary" ordering using comparison functor. | |
| template<typename _BidirectionalIterator> | |
| bool | std::prev_permutation (_BidirectionalIterator __first, _BidirectionalIterator __last) |
| Permute range into the previous "dictionary" ordering. | |
| template<typename _BidirectionalIterator, typename _Compare> | |
| bool | std::prev_permutation (_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp) |
| Permute range into the previous "dictionary" ordering using comparison functor. | |
| template<typename _InputIterator, typename _ForwardIterator> | |
| _InputIterator | std::find_first_of (_InputIterator __first1, _InputIterator __last1, _ForwardIterator __first2, _ForwardIterator __last2) |
| Find element from a set in a sequence. | |
| template<typename _InputIterator, typename _ForwardIterator, typename _BinaryPredicate> | |
| _InputIterator | std::find_first_of (_InputIterator __first1, _InputIterator __last1, _ForwardIterator __first2, _ForwardIterator __last2, _BinaryPredicate __comp) |
| Find element from a set in a sequence using a predicate. | |
| template<typename _ForwardIterator1, typename _ForwardIterator2> | |
| _ForwardIterator1 | std::__find_end (_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2, forward_iterator_tag, forward_iterator_tag) |
| template<typename _ForwardIterator1, typename _ForwardIterator2, typename _BinaryPredicate> | |
| _ForwardIterator1 | std::__find_end (_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2, forward_iterator_tag, forward_iterator_tag, _BinaryPredicate __comp) |
| template<typename _BidirectionalIterator1, typename _BidirectionalIterator2> | |
| _BidirectionalIterator1 | std::__find_end (_BidirectionalIterator1 __first1, _BidirectionalIterator1 __last1, _BidirectionalIterator2 __first2, _BidirectionalIterator2 __last2, bidirectional_iterator_tag, bidirectional_iterator_tag) |
| template<typename _BidirectionalIterator1, typename _BidirectionalIterator2, typename _BinaryPredicate> | |
| _BidirectionalIterator1 | std::__find_end (_BidirectionalIterator1 __first1, _BidirectionalIterator1 __last1, _BidirectionalIterator2 __first2, _BidirectionalIterator2 __last2, bidirectional_iterator_tag, bidirectional_iterator_tag, _BinaryPredicate __comp) |
| template<typename _ForwardIterator1, typename _ForwardIterator2> | |
| _ForwardIterator1 | std::find_end (_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2) |
| Find last matching subsequence in a sequence. | |
| template<typename _ForwardIterator1, typename _ForwardIterator2, typename _BinaryPredicate> | |
| _ForwardIterator1 | std::find_end (_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2, _BinaryPredicate __comp) |
| Find last matching subsequence in a sequence using a predicate. | |
Definition in file stl_algo.h.
| #define _ALGO_H 1 |
Definition at line 63 of file stl_algo.h.
1.4.7