#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.