libstdc++
stl_algo.h File Reference

Go to the source code of this file.

Namespaces

namespace  std
 

Enumerations

enum  { _S_chunk_size }
 

Functions

template<typename _ForwardIterator, typename _BinaryPredicate>
constexpr _ForwardIterator std::__adjacent_find (_ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __binary_pred)
 
template<typename _RandomAccessIterator, typename _Distance, typename _Compare>
constexpr void std::__chunk_insertion_sort (_RandomAccessIterator __first, _RandomAccessIterator __last, _Distance __chunk_size, _Compare __comp)
 
template<typename _ForwardIterator, typename _Tp, typename _CompareItTp, typename _CompareTpIt>
constexpr pair< _ForwardIterator, _ForwardIterator > std::__equal_range (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__val, _CompareItTp __comp_it_val, _CompareTpIt __comp_val_it)
 
template<typename _BidirectionalIterator1, typename _BidirectionalIterator2, typename _BinaryPredicate>
constexpr _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, typename _BinaryPredicate>
constexpr _ForwardIterator1 std::__find_end (_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2, forward_iterator_tag, forward_iterator_tag, _BinaryPredicate __comp)
 
template<typename _InputIterator, typename _Predicate>
constexpr _InputIterator std::__find_if_not (_InputIterator __first, _InputIterator __last, _Predicate __pred)
 
template<typename _InputIterator, typename _Predicate, typename _Distance>
constexpr _InputIterator std::__find_if_not_n (_InputIterator __first, _Distance &__len, _Predicate __pred)
 
template<typename _EuclideanRingElement>
constexpr _EuclideanRingElement std::__gcd (_EuclideanRingElement __m, _EuclideanRingElement __n)
 
template<typename _IntType, typename _UniformRandomBitGenerator>
pair< _IntType, _IntType > std::__gen_two_uniform_ints (_IntType __b0, _IntType __b1, _UniformRandomBitGenerator &&__g)
 
template<typename _InputIterator1, typename _InputIterator2, typename _Compare>
constexpr bool std::__includes (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _Compare __comp)
 
template<typename _BidirectionalIterator, typename _Compare>
void std::__inplace_merge (_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Compare __comp)
 
template<typename _RandomAccessIterator, typename _Compare>
void std::__inplace_stable_sort (_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
 
template<typename _ForwardIterator1, typename _ForwardIterator2, typename _BinaryPredicate>
constexpr bool std::__is_permutation (_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2, _BinaryPredicate __pred)
 
template<typename _ForwardIterator, typename _Compare>
constexpr _ForwardIterator std::__is_sorted_until (_ForwardIterator __first, _ForwardIterator __last, _Compare __comp)
 
template<typename _ForwardIterator, typename _Compare>
constexpr _ForwardIterator std::__max_element (_ForwardIterator __first, _ForwardIterator __last, _Compare __comp)
 
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 _BidirectionalIterator, typename _Distance, typename _Pointer, typename _Compare>
void std::__merge_adaptive (_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Distance __len1, _Distance __len2, _Pointer __buffer, _Compare __comp)
 
template<typename _BidirectionalIterator, typename _Distance, typename _Pointer, typename _Compare>
void std::__merge_adaptive_resize (_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Distance __len1, _Distance __len2, _Pointer __buffer, _Distance __buffer_size, _Compare __comp)
 
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 _Pointer, typename _Compare>
void std::__merge_sort_with_buffer (_RandomAccessIterator __first, _RandomAccessIterator __last, _Pointer __buffer, _Compare __comp)
 
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 _ForwardIterator, typename _Compare>
constexpr _ForwardIterator std::__min_element (_ForwardIterator __first, _ForwardIterator __last, _Compare __comp)
 
template<typename _ForwardIterator, typename _Compare>
constexpr pair< _ForwardIterator, _ForwardIterator > std::__minmax_element (_ForwardIterator __first, _ForwardIterator __last, _Compare __comp)
 
template<typename _Iterator, typename _Compare>
constexpr void std::__move_median_to_first (_Iterator __result, _Iterator __a, _Iterator __b, _Iterator __c, _Compare __comp)
 
template<typename _InputIterator, typename _OutputIterator, typename _Compare>
_OutputIterator std::__move_merge (_InputIterator __first1, _InputIterator __last1, _InputIterator __first2, _InputIterator __last2, _OutputIterator __result, _Compare __comp)
 
template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator, typename _Compare>
void std::__move_merge_adaptive (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp)
 
template<typename _BidirectionalIterator1, typename _BidirectionalIterator2, typename _BidirectionalIterator3, typename _Compare>
void std::__move_merge_adaptive_backward (_BidirectionalIterator1 __first1, _BidirectionalIterator1 __last1, _BidirectionalIterator2 __first2, _BidirectionalIterator2 __last2, _BidirectionalIterator3 __result, _Compare __comp)
 
template<typename _BidirectionalIterator, typename _Compare>
constexpr bool std::__next_permutation (_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp)
 
template<typename _BidirectionalIterator, typename _Predicate>
constexpr _BidirectionalIterator std::__partition (_BidirectionalIterator __first, _BidirectionalIterator __last, _Predicate __pred, bidirectional_iterator_tag)
 
template<typename _ForwardIterator, typename _Predicate>
constexpr _ForwardIterator std::__partition (_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, forward_iterator_tag)
 
template<typename _BidirectionalIterator, typename _Compare>
constexpr bool std::__prev_permutation (_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp)
 
template<typename _InputIterator, typename _OutputIterator, typename _Predicate>
constexpr _OutputIterator std::__remove_copy_if (_InputIterator __first, _InputIterator __last, _OutputIterator __result, _Predicate __pred)
 
template<typename _InputIterator, typename _OutputIterator, typename _Predicate, typename _Tp>
constexpr _OutputIterator std::__replace_copy_if (_InputIterator __first, _InputIterator __last, _OutputIterator __result, _Predicate __pred, const _Tp &__new_value)
 
template<typename _BidirectionalIterator>
constexpr void std::__reverse (_BidirectionalIterator __first, _BidirectionalIterator __last, bidirectional_iterator_tag)
 
template<typename _RandomAccessIterator>
constexpr void std::__reverse (_RandomAccessIterator __first, _RandomAccessIterator __last, random_access_iterator_tag)
 
template<typename _BidirectionalIterator>
constexpr _BidirectionalIterator std::__rotate (_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, bidirectional_iterator_tag)
 
template<typename _ForwardIterator>
constexpr _ForwardIterator std::__rotate (_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last, forward_iterator_tag)
 
template<typename _RandomAccessIterator>
constexpr _RandomAccessIterator std::__rotate (_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last, random_access_iterator_tag)
 
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 _ForwardIterator, typename _OutputIterator, typename _Cat, typename _Size, typename _UniformRandomBitGenerator>
_OutputIterator std::__sample (_ForwardIterator __first, _ForwardIterator __last, forward_iterator_tag, _OutputIterator __out, _Cat, _Size __n, _UniformRandomBitGenerator &&__g)
 
template<typename _InputIterator, typename _RandomAccessIterator, typename _Size, typename _UniformRandomBitGenerator>
_RandomAccessIterator std::__sample (_InputIterator __first, _InputIterator __last, input_iterator_tag, _RandomAccessIterator __out, random_access_iterator_tag, _Size __n, _UniformRandomBitGenerator &&__g)
 
template<typename _ForwardIterator, typename _Integer, typename _UnaryPredicate>
constexpr _ForwardIterator std::__search_n (_ForwardIterator __first, _ForwardIterator __last, _Integer __count, _UnaryPredicate __unary_pred)
 
template<typename _ForwardIterator, typename _Integer, typename _UnaryPredicate>
constexpr _ForwardIterator std::__search_n_aux (_ForwardIterator __first, _ForwardIterator __last, _Integer __count, _UnaryPredicate __unary_pred, std::forward_iterator_tag)
 
template<typename _RandomAccessIter, typename _Integer, typename _UnaryPredicate>
constexpr _RandomAccessIter std::__search_n_aux (_RandomAccessIter __first, _RandomAccessIter __last, _Integer __count, _UnaryPredicate __unary_pred, std::random_access_iterator_tag)
 
template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator, typename _Compare>
constexpr _OutputIterator std::__set_difference (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp)
 
template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator, typename _Compare>
constexpr _OutputIterator std::__set_intersection (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp)
 
template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator, typename _Compare>
constexpr _OutputIterator std::__set_symmetric_difference (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp)
 
template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator, typename _Compare>
constexpr _OutputIterator std::__set_union (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp)
 
template<typename _ForwardIterator, typename _Predicate>
_ForwardIterator std::__stable_partition (_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred)
 
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 _RandomAccessIterator, typename _Compare>
void std::__stable_sort (_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
 
template<typename _RandomAccessIterator, typename _Pointer, typename _Compare>
void std::__stable_sort_adaptive (_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last, _Pointer __buffer, _Compare __comp)
 
template<typename _RandomAccessIterator, typename _Pointer, typename _Distance, typename _Compare>
void std::__stable_sort_adaptive_resize (_RandomAccessIterator __first, _RandomAccessIterator __last, _Pointer __buffer, _Distance __buffer_size, _Compare __comp)
 
template<typename _ForwardIterator, typename _BinaryPredicate>
constexpr _ForwardIterator std::__unique (_ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __binary_pred)
 
template<typename _ForwardIterator, typename _OutputIterator, typename _BinaryPredicate>
constexpr _OutputIterator std::__unique_copy (_ForwardIterator __first, _ForwardIterator __last, _OutputIterator __result, _BinaryPredicate __binary_pred, forward_iterator_tag)
 
template<typename _InputIterator, typename _OutputIterator, typename _BinaryPredicate>
constexpr _OutputIterator std::__unique_copy (_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryPredicate __binary_pred, input_iterator_tag)
 
template<typename _InputIterator, typename _ForwardIterator, typename _BinaryPredicate>
_ForwardIterator std::__unique_copy_1 (_InputIterator __first, _InputIterator __last, _ForwardIterator __result, _BinaryPredicate __binary_pred, __true_type)
 
template<typename _InputIterator, typename _OutputIterator, typename _BinaryPredicate>
constexpr _OutputIterator std::__unique_copy_1 (_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryPredicate __binary_pred, __false_type)
 
template<typename _ForwardIterator, typename _Tp, typename _Compare>
constexpr _ForwardIterator std::__upper_bound (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__val, _Compare __comp)
 
template<typename _ForwardIterator>
constexpr _ForwardIterator std::adjacent_find (_ForwardIterator __first, _ForwardIterator __last)
 
template<typename _ForwardIterator, typename _BinaryPredicate>
constexpr _ForwardIterator std::adjacent_find (_ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __binary_pred)
 
template<typename _InputIterator, typename _Predicate>
constexpr bool std::all_of (_InputIterator __first, _InputIterator __last, _Predicate __pred)
 
template<typename _InputIterator, typename _Predicate>
constexpr bool std::any_of (_InputIterator __first, _InputIterator __last, _Predicate __pred)
 
template<typename _ForwardIterator, typename _Tp>
constexpr bool std::binary_search (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__val)
 
template<typename _ForwardIterator, typename _Tp, typename _Compare>
constexpr bool std::binary_search (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__val, _Compare __comp)
 
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 _InputIterator, typename _OutputIterator, typename _Predicate>
constexpr _OutputIterator std::copy_if (_InputIterator __first, _InputIterator __last, _OutputIterator __result, _Predicate __pred)
 
template<typename _InputIterator, typename _Size, typename _OutputIterator>
constexpr _OutputIterator std::copy_n (_InputIterator __first, _Size __n, _OutputIterator __result)
 
template<typename _InputIterator, typename _Tp>
constexpr iterator_traits< _InputIterator >::difference_type std::count (_InputIterator __first, _InputIterator __last, const _Tp &__value)
 
template<typename _InputIterator, typename _Predicate>
constexpr iterator_traits< _InputIterator >::difference_type std::count_if (_InputIterator __first, _InputIterator __last, _Predicate __pred)
 
template<typename _ForwardIterator, typename _Tp>
constexpr pair< _ForwardIterator, _ForwardIterator > std::equal_range (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__val)
 
template<typename _ForwardIterator, typename _Tp, typename _Compare>
constexpr pair< _ForwardIterator, _ForwardIterator > std::equal_range (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__val, _Compare __comp)
 
template<typename _InputIterator, typename _Tp>
constexpr _InputIterator std::find (_InputIterator __first, _InputIterator __last, const _Tp &__val)
 
template<typename _ForwardIterator1, typename _ForwardIterator2>
constexpr _ForwardIterator1 std::find_end (_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2)
 
template<typename _ForwardIterator1, typename _ForwardIterator2, typename _BinaryPredicate>
constexpr _ForwardIterator1 std::find_end (_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2, _BinaryPredicate __comp)
 
template<typename _InputIterator, typename _ForwardIterator>
constexpr _InputIterator std::find_first_of (_InputIterator __first1, _InputIterator __last1, _ForwardIterator __first2, _ForwardIterator __last2)
 
template<typename _InputIterator, typename _ForwardIterator, typename _BinaryPredicate>
constexpr _InputIterator std::find_first_of (_InputIterator __first1, _InputIterator __last1, _ForwardIterator __first2, _ForwardIterator __last2, _BinaryPredicate __comp)
 
template<typename _InputIterator, typename _Predicate>
constexpr _InputIterator std::find_if (_InputIterator __first, _InputIterator __last, _Predicate __pred)
 
template<typename _InputIterator, typename _Predicate>
constexpr _InputIterator std::find_if_not (_InputIterator __first, _InputIterator __last, _Predicate __pred)
 
template<typename _InputIterator, typename _Function>
constexpr _Function std::for_each (_InputIterator __first, _InputIterator __last, _Function __f)
 
template<typename _InputIterator, typename _Size, typename _Function>
constexpr _InputIterator std::for_each_n (_InputIterator __first, _Size __n, _Function __f)
 
template<typename _ForwardIterator, typename _Generator>
constexpr void std::generate (_ForwardIterator __first, _ForwardIterator __last, _Generator __gen)
 
template<typename _OutputIterator, typename _Size, typename _Generator>
constexpr _OutputIterator std::generate_n (_OutputIterator __first, _Size __n, _Generator __gen)
 
template<typename _InputIterator1, typename _InputIterator2>
constexpr bool std::includes (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2)
 
template<typename _InputIterator1, typename _InputIterator2, typename _Compare>
constexpr bool std::includes (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _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 _InputIterator, typename _Predicate>
constexpr bool std::is_partitioned (_InputIterator __first, _InputIterator __last, _Predicate __pred)
 
template<typename _ForwardIterator1, typename _ForwardIterator2, typename _BinaryPredicate>
constexpr bool std::is_permutation (_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _BinaryPredicate __pred)
 
template<typename _ForwardIterator1, typename _ForwardIterator2>
constexpr bool std::is_permutation (_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2)
 
template<typename _ForwardIterator1, typename _ForwardIterator2, typename _BinaryPredicate>
constexpr bool std::is_permutation (_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2, _BinaryPredicate __pred)
 
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 _ForwardIterator, typename _Tp, typename _Compare>
constexpr _ForwardIterator std::lower_bound (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__val, _Compare __comp)
 
template<typename _Tp>
constexpr _Tp std::max (initializer_list< _Tp >)
 
template<typename _Tp, typename _Compare>
constexpr _Tp std::max (initializer_list< _Tp >, _Compare)
 
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 _Tp std::min (initializer_list< _Tp >)
 
template<typename _Tp, typename _Compare>
constexpr _Tp std::min (initializer_list< _Tp >, _Compare)
 
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 _Tp>
constexpr pair< _Tp, _Tp > std::minmax (initializer_list< _Tp >)
 
template<typename _Tp, typename _Compare>
constexpr pair< _Tp, _Tp > std::minmax (initializer_list< _Tp >, _Compare)
 
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 _InputIterator, typename _Predicate>
constexpr bool std::none_of (_InputIterator __first, _InputIterator __last, _Predicate __pred)
 
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 _ForwardIterator, typename _Predicate>
constexpr _ForwardIterator std::partition (_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred)
 
template<typename _InputIterator, typename _OutputIterator1, typename _OutputIterator2, typename _Predicate>
constexpr pair< _OutputIterator1, _OutputIterator2 > std::partition_copy (_InputIterator __first, _InputIterator __last, _OutputIterator1 __out_true, _OutputIterator2 __out_false, _Predicate __pred)
 
template<typename _ForwardIterator, typename _Predicate>
constexpr _ForwardIterator std::partition_point (_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred)
 
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>
void std::random_shuffle (_RandomAccessIterator __first, _RandomAccessIterator __last)
 
template<typename _RandomAccessIterator, typename _RandomNumberGenerator>
void std::random_shuffle (_RandomAccessIterator __first, _RandomAccessIterator __last, _RandomNumberGenerator &&__rand)
 
template<typename _ForwardIterator, typename _Tp>
constexpr _ForwardIterator std::remove (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__value)
 
template<typename _InputIterator, typename _OutputIterator, typename _Tp>
constexpr _OutputIterator std::remove_copy (_InputIterator __first, _InputIterator __last, _OutputIterator __result, const _Tp &__value)
 
template<typename _InputIterator, typename _OutputIterator, typename _Predicate>
constexpr _OutputIterator std::remove_copy_if (_InputIterator __first, _InputIterator __last, _OutputIterator __result, _Predicate __pred)
 
template<typename _ForwardIterator, typename _Predicate>
constexpr _ForwardIterator std::remove_if (_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred)
 
template<typename _ForwardIterator, typename _Tp>
constexpr void std::replace (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__old_value, const _Tp &__new_value)
 
template<typename _InputIterator, typename _OutputIterator, typename _Tp>
constexpr _OutputIterator std::replace_copy (_InputIterator __first, _InputIterator __last, _OutputIterator __result, const _Tp &__old_value, const _Tp &__new_value)
 
template<typename _InputIterator, typename _OutputIterator, typename _Predicate, typename _Tp>
constexpr _OutputIterator std::replace_copy_if (_InputIterator __first, _InputIterator __last, _OutputIterator __result, _Predicate __pred, const _Tp &__new_value)
 
template<typename _ForwardIterator, typename _Predicate, typename _Tp>
constexpr void std::replace_if (_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, const _Tp &__new_value)
 
template<typename _BidirectionalIterator>
constexpr void std::reverse (_BidirectionalIterator __first, _BidirectionalIterator __last)
 
template<typename _BidirectionalIterator, typename _OutputIterator>
constexpr _OutputIterator std::reverse_copy (_BidirectionalIterator __first, _BidirectionalIterator __last, _OutputIterator __result)
 
template<typename _ForwardIterator>
constexpr _ForwardIterator std::rotate (_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last)
 
template<typename _ForwardIterator, typename _OutputIterator>
constexpr _OutputIterator std::rotate_copy (_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last, _OutputIterator __result)
 
template<typename _PopulationIterator, typename _SampleIterator, typename _Distance, typename _UniformRandomBitGenerator>
_SampleIterator std::sample (_PopulationIterator __first, _PopulationIterator __last, _SampleIterator __out, _Distance __n, _UniformRandomBitGenerator &&__g)
 
template<typename _ForwardIterator, typename _Searcher>
constexpr _ForwardIterator std::search (_ForwardIterator __first, _ForwardIterator __last, const _Searcher &__searcher)
 
template<typename _ForwardIterator1, typename _ForwardIterator2>
constexpr _ForwardIterator1 std::search (_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2)
 
template<typename _ForwardIterator, typename _Integer, typename _Tp>
constexpr _ForwardIterator std::search_n (_ForwardIterator __first, _ForwardIterator __last, _Integer __count, const _Tp &__val)
 
template<typename _ForwardIterator, typename _Integer, typename _Tp, typename _BinaryPredicate>
constexpr _ForwardIterator std::search_n (_ForwardIterator __first, _ForwardIterator __last, _Integer __count, const _Tp &__val, _BinaryPredicate __binary_pred)
 
template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator>
constexpr _OutputIterator std::set_difference (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result)
 
template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator, typename _Compare>
constexpr _OutputIterator std::set_difference (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp)
 
template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator>
constexpr _OutputIterator std::set_intersection (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result)
 
template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator, typename _Compare>
constexpr _OutputIterator std::set_intersection (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp)
 
template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator>
constexpr _OutputIterator std::set_symmetric_difference (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result)
 
template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator, typename _Compare>
constexpr _OutputIterator std::set_symmetric_difference (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp)
 
template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator>
constexpr _OutputIterator std::set_union (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result)
 
template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator, typename _Compare>
constexpr _OutputIterator std::set_union (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp)
 
template<typename _RandomAccessIterator, typename _UniformRandomNumberGenerator>
void std::shuffle (_RandomAccessIterator __first, _RandomAccessIterator __last, _UniformRandomNumberGenerator &&__g)
 
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 _ForwardIterator, typename _Predicate>
_ForwardIterator std::stable_partition (_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred)
 
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)
 
template<typename _InputIterator, typename _OutputIterator, typename _UnaryOperation>
constexpr _OutputIterator std::transform (_InputIterator __first, _InputIterator __last, _OutputIterator __result, _UnaryOperation __unary_op)
 
template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator, typename _BinaryOperation>
constexpr _OutputIterator std::transform (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _OutputIterator __result, _BinaryOperation __binary_op)
 
template<typename _ForwardIterator>
constexpr _ForwardIterator std::unique (_ForwardIterator __first, _ForwardIterator __last)
 
template<typename _ForwardIterator, typename _BinaryPredicate>
constexpr _ForwardIterator std::unique (_ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __binary_pred)
 
template<typename _InputIterator, typename _OutputIterator>
constexpr _OutputIterator std::unique_copy (_InputIterator __first, _InputIterator __last, _OutputIterator __result)
 
template<typename _InputIterator, typename _OutputIterator, typename _BinaryPredicate>
constexpr _OutputIterator std::unique_copy (_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryPredicate __binary_pred)
 
template<typename _ForwardIterator, typename _Tp>
constexpr _ForwardIterator std::upper_bound (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__val)
 
template<typename _ForwardIterator, typename _Tp, typename _Compare>
constexpr _ForwardIterator std::upper_bound (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__val, _Compare __comp)
 

Detailed Description

This is an internal header file, included by other library headers. Do not attempt to use it directly. Instead, include <algorithm>.

Definition in file stl_algo.h.