|
template<typename _Tp > |
constexpr const _Tp & | std::clamp (const _Tp &__val, const _Tp &__lo, const _Tp &__hi) |
|
template<typename _Tp , typename _Compare > |
constexpr const _Tp & | std::clamp (const _Tp &__val, const _Tp &__lo, const _Tp &__hi, _Compare __comp) |
|
template<typename _BidirectionalIterator > |
void | std::inplace_merge (_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last) |
|
template<typename _BidirectionalIterator , typename _Compare > |
void | std::inplace_merge (_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Compare __comp) |
|
template<typename _ForwardIterator > |
constexpr bool | std::is_sorted (_ForwardIterator __first, _ForwardIterator __last) |
|
template<typename _ForwardIterator , typename _Compare > |
constexpr bool | std::is_sorted (_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) |
|
template<typename _ForwardIterator > |
constexpr _ForwardIterator | std::is_sorted_until (_ForwardIterator __first, _ForwardIterator __last) |
|
template<typename _ForwardIterator , typename _Compare > |
constexpr _ForwardIterator | std::is_sorted_until (_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) |
|
template<typename _II1 , typename _II2 > |
constexpr bool | std::lexicographical_compare (_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) |
|
template<typename _II1 , typename _II2 , typename _Compare > |
constexpr bool | std::lexicographical_compare (_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2, _Compare __comp) |
|
template<typename _InputIter1 , typename _InputIter2 , typename _Comp > |
constexpr auto | std::lexicographical_compare_three_way (_InputIter1 __first1, _InputIter1 __last1, _InputIter2 __first2, _InputIter2 __last2, _Comp __comp) -> decltype(__comp(*__first1, *__first2)) |
|
template<typename _Tp > |
constexpr const _Tp & | std::max (const _Tp &__a, const _Tp &__b) |
|
template<typename _Tp , typename _Compare > |
constexpr const _Tp & | std::max (const _Tp &__a, const _Tp &__b, _Compare __comp) |
|
template<typename _ForwardIterator > |
constexpr _ForwardIterator | std::max_element (_ForwardIterator __first, _ForwardIterator __last) |
|
template<typename _ForwardIterator , typename _Compare > |
constexpr _ForwardIterator | std::max_element (_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) |
|
template<typename _InputIterator1 , typename _InputIterator2 , typename _OutputIterator > |
constexpr _OutputIterator | std::merge (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result) |
|
template<typename _InputIterator1 , typename _InputIterator2 , typename _OutputIterator , typename _Compare > |
constexpr _OutputIterator | std::merge (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) |
|
template<typename _Tp > |
constexpr const _Tp & | std::min (const _Tp &__a, const _Tp &__b) |
|
template<typename _Tp , typename _Compare > |
constexpr const _Tp & | std::min (const _Tp &__a, const _Tp &__b, _Compare __comp) |
|
template<typename _ForwardIterator > |
constexpr _ForwardIterator | std::min_element (_ForwardIterator __first, _ForwardIterator __last) |
|
template<typename _ForwardIterator , typename _Compare > |
constexpr _ForwardIterator | std::min_element (_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) |
|
template<typename _Tp > |
constexpr pair< const _Tp &, const _Tp & > | std::minmax (const _Tp &__a, const _Tp &__b) |
|
template<typename _Tp , typename _Compare > |
constexpr pair< const _Tp &, const _Tp & > | std::minmax (const _Tp &__a, const _Tp &__b, _Compare __comp) |
|
template<typename _ForwardIterator > |
constexpr pair< _ForwardIterator, _ForwardIterator > | std::minmax_element (_ForwardIterator __first, _ForwardIterator __last) |
|
template<typename _ForwardIterator , typename _Compare > |
constexpr pair< _ForwardIterator, _ForwardIterator > | std::minmax_element (_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) |
|
template<typename _BidirectionalIterator > |
constexpr bool | std::next_permutation (_BidirectionalIterator __first, _BidirectionalIterator __last) |
|
template<typename _BidirectionalIterator , typename _Compare > |
constexpr bool | std::next_permutation (_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp) |
|
template<typename _RandomAccessIterator > |
constexpr void | std::nth_element (_RandomAccessIterator __first, _RandomAccessIterator __nth, _RandomAccessIterator __last) |
|
template<typename _RandomAccessIterator , typename _Compare > |
constexpr void | std::nth_element (_RandomAccessIterator __first, _RandomAccessIterator __nth, _RandomAccessIterator __last, _Compare __comp) |
|
template<typename _RandomAccessIterator > |
constexpr void | std::partial_sort (_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last) |
|
template<typename _RandomAccessIterator , typename _Compare > |
constexpr void | std::partial_sort (_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last, _Compare __comp) |
|
template<typename _InputIterator , typename _RandomAccessIterator > |
constexpr _RandomAccessIterator | std::partial_sort_copy (_InputIterator __first, _InputIterator __last, _RandomAccessIterator __result_first, _RandomAccessIterator __result_last) |
|
template<typename _InputIterator , typename _RandomAccessIterator , typename _Compare > |
constexpr _RandomAccessIterator | std::partial_sort_copy (_InputIterator __first, _InputIterator __last, _RandomAccessIterator __result_first, _RandomAccessIterator __result_last, _Compare __comp) |
|
template<typename _BidirectionalIterator > |
constexpr bool | std::prev_permutation (_BidirectionalIterator __first, _BidirectionalIterator __last) |
|
template<typename _BidirectionalIterator , typename _Compare > |
constexpr bool | std::prev_permutation (_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp) |
|
template<typename _RandomAccessIterator > |
constexpr void | std::sort (_RandomAccessIterator __first, _RandomAccessIterator __last) |
|
template<typename _RandomAccessIterator , typename _Compare > |
constexpr void | std::sort (_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) |
|
template<typename _RandomAccessIterator > |
void | std::stable_sort (_RandomAccessIterator __first, _RandomAccessIterator __last) |
|
template<typename _RandomAccessIterator , typename _Compare > |
void | std::stable_sort (_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) |
|
Merges two sorted ranges in place.
- Parameters
-
__first | An iterator. |
__middle | Another iterator. |
__last | Another iterator. |
- Returns
- Nothing.
Merges two sorted and consecutive ranges, [__first,__middle) and [__middle,__last), and puts the result in [__first,__last). The output will be sorted. The sort is stable, that is, for equivalent elements in the two ranges, elements from the first range will always come before elements from the second.
If enough additional memory is available, this takes (__last-__first)-1 comparisons. Otherwise an NlogN algorithm is used, where N is distance(__first,__last).
Definition at line 2542 of file stl_algo.h.
Merges two sorted ranges in place.
- Parameters
-
__first | An iterator. |
__middle | Another iterator. |
__last | Another iterator. |
__comp | A functor to use for comparisons. |
- Returns
- Nothing.
Merges two sorted and consecutive ranges, [__first,__middle) and [middle,last), and puts the result in [__first,__last). The output will be sorted. The sort is stable, that is, for equivalent elements in the two ranges, elements from the first range will always come before elements from the second.
If enough additional memory is available, this takes (__last-__first)-1 comparisons. Otherwise an NlogN algorithm is used, where N is distance(__first,__last).
The comparison function should have the same effects on ordering as the function used for the initial sort.
Definition at line 2583 of file stl_algo.h.
Merges two sorted ranges.
- Parameters
-
__first1 | An iterator. |
__first2 | Another iterator. |
__last1 | Another iterator. |
__last2 | Another iterator. |
__result | An iterator pointing to the end of the merged range. |
__comp | A functor to use for comparisons. |
- Returns
- An output iterator equal to
__result
+ (__last1 - __first1)
Merges the ranges
[__first1,__last1) and
[__first2,__last2) into the sorted range
[__result, __result + (__last1-__first1) + (__last2-__first2)). Both input ranges must be sorted, and the output range must not overlap with either of the input ranges. The sort is stable, that is, for equivalent elements in the two ranges, elements from the first range will always come before elements from the second.
The comparison function should have the same effects on ordering as the function used for the initial sort.
Definition at line 4908 of file stl_algo.h.
Sort the elements of a sequence, preserving the relative order of equivalent elements.
- Parameters
-
__first | An iterator. |
__last | Another iterator. |
- Returns
- Nothing.
Sorts the elements in the range
[__first,__last) in ascending order, such that for each iterator i
in the range
[__first,__last-1), *
(i+1)<*i is false.
The relative ordering of equivalent elements is preserved, so any two elements x
and y
in the range
[__first,__last) such that x<y
is false and y<x
is false will have the same relative ordering after calling stable_sort()
.
Definition at line 4984 of file stl_algo.h.
Sort the elements of a sequence using a predicate for comparison, preserving the relative order of equivalent elements.
- Parameters
-
__first | An iterator. |
__last | Another iterator. |
__comp | A comparison functor. |
- Returns
- Nothing.
Sorts the elements in the range
[__first,__last) in ascending order, such that for each iterator i
in the range
[__first,__last-1), __comp
(*(i+1),*i) is false.
The relative ordering of equivalent elements is preserved, so any two elements x
and y
in the range
[__first,__last) such that __comp(x,y)
is false and __comp(y,x)
is false will have the same relative ordering after calling stable_sort()
.
Definition at line 5018 of file stl_algo.h.