libstdc++
ranges_algo.h File Reference

Go to the source code of this file.

Namespaces

namespace  std

Typedefs

template<typename _Fp>
using std::ranges::__detail::__by_ref_or_value_fn
template<typename _Iter1, typename _Iter2, typename _Out>
using std::ranges::binary_transform_result
template<typename _Iter, typename _Out>
using std::ranges::copy_if_result
template<typename _Iter, typename _Tp>
using std::ranges::fold_left_first_with_iter_result
template<typename _Iter, typename _Tp>
using std::ranges::fold_left_with_iter_result
template<typename _Iter, typename _Fp>
using std::ranges::for_each_n_result
template<typename _Iter, typename _Fp>
using std::ranges::for_each_result
template<typename _Iter1, typename _Iter2, typename _Out>
using std::ranges::merge_result
template<typename _Iter>
using std::ranges::minmax_element_result
template<typename _Tp>
using std::ranges::minmax_result
template<typename _Iter>
using std::ranges::next_permutation_result
template<typename _Iter, typename _Out>
using std::ranges::partial_sort_copy_result
template<typename _Iter, typename _Out1, typename _Out2>
using std::ranges::partition_copy_result
template<typename _Iter>
using std::ranges::prev_permutation_result
template<typename _Iter, typename _Out>
using std::ranges::remove_copy_if_result
template<typename _Iter, typename _Out>
using std::ranges::remove_copy_result
template<typename _Iter, typename _Out>
using std::ranges::replace_copy_if_result
template<typename _Iter, typename _Out>
using std::ranges::replace_copy_result
template<typename _Iter, typename _Out>
using std::ranges::reverse_copy_result
template<typename _Iter, typename _Out>
using std::ranges::rotate_copy_result
template<typename _Iter, typename _Out>
using std::ranges::set_difference_result
template<typename _Iter1, typename _Iter2, typename _Out>
using std::ranges::set_intersection_result
template<typename _Iter1, typename _Iter2, typename _Out>
using std::ranges::set_symmetric_difference_result
template<typename _Iter1, typename _Iter2, typename _Out>
using std::ranges::set_union_result
template<typename _Iter1, typename _Iter2>
using std::ranges::swap_ranges_result
template<typename _Iter, typename _Out>
using std::ranges::unary_transform_result
template<typename _Iter, typename _Out>
using std::ranges::unique_copy_result

Functions

template<typename _Iter, typename _Comp>
constexpr void std::ranges::__detail::__adjust_heap (_Iter __first, iter_difference_t< _Iter > __holeIndex, iter_difference_t< _Iter > __len, iter_value_t< _Iter > __value, _Comp __comp)
template<typename _Iter, typename _Distance, typename _Compare>
constexpr void std::ranges::__detail::__chunk_insertion_sort (_Iter __first, _Iter __last, _Distance __chunk_size, _Compare __comp)
template<typename _Iter, typename _Comp>
constexpr void std::ranges::__detail::__final_insertion_sort (_Iter __first, _Iter __last, _Comp __comp)
template<typename _Iter, typename _Pred, typename _Distance>
constexpr _Iter std::ranges::__detail::__find_if_not_n (_Iter __first, _Distance &__len, _Pred __pred)
template<typename _InputIterator, typename _Sentinel, typename _Function, typename _Proj>
constexpr _InputIterator std::ranges::__for_each (_InputIterator __first, _Sentinel __last, _Function &&__f, _Proj &__proj)
template<typename _Iter, typename _Comp>
constexpr void std::ranges::__detail::__heap_select (_Iter __first, _Iter __middle, _Iter __last, _Comp __comp)
template<typename _Iter, typename _Comp>
constexpr void std::ranges::__detail::__inplace_stable_sort (_Iter __first, _Iter __last, _Comp __comp)
template<typename _Iter, typename _Comp>
constexpr void std::ranges::__detail::__insertion_sort (_Iter __first, _Iter __last, _Comp __comp)
template<typename _Iter, typename _Comp>
constexpr void std::ranges::__detail::__introselect (_Iter __first, _Iter __nth, _Iter __last, iter_difference_t< _Iter > __depth_limit, _Comp __comp)
template<typename _Iter, typename _Comp>
constexpr void std::ranges::__detail::__introsort_loop (_Iter __first, _Iter __last, unsigned __depth_limit, _Comp __comp)
template<typename _Comp, typename _Proj>
constexpr _Comp_proj< _Comp, _Proj > std::ranges::__detail::__make_comp_proj (_Comp &__comp, _Proj &__proj)
template<typename _Pred, typename _Proj>
constexpr _Pred_proj< _Pred, _Proj > std::ranges::__detail::__make_pred_proj (_Pred &__pred, _Proj &__proj)
template<typename _Iter, typename _Pointer, typename _Comp>
void std::ranges::__detail::__merge_adaptive (_Iter __first, _Iter __middle, _Iter __last, iter_difference_t< _Iter > __len1, iter_difference_t< _Iter > __len2, _Pointer __buffer, _Comp __comp)
template<typename _Iter, typename _Distance, typename _Pointer, typename _Comp>
void std::ranges::__detail::__merge_adaptive_resize (_Iter __first, _Iter __middle, _Iter __last, _Distance __len1, _Distance __len2, _Pointer __buffer, _Distance __buffer_size, _Comp __comp)
template<typename _Iter, typename _Out, typename _Distance, typename _Comp>
void std::ranges::__detail::__merge_sort_loop (_Iter __first, _Iter __last, _Out __result, _Distance __step_size, _Comp __comp)
template<typename _Iter, typename _Pointer, typename _Comp>
void std::ranges::__detail::__merge_sort_with_buffer (_Iter __first, _Iter __last, _Pointer __buffer, _Comp __comp)
template<typename _Iter, typename _Distance, typename _Comp>
constexpr void std::ranges::__detail::__merge_without_buffer (_Iter __first, _Iter __middle, _Iter __last, _Distance __len1, _Distance __len2, _Comp __comp)
template<typename _Iter, typename _Comp>
constexpr void std::ranges::__detail::__move_median_to_first (_Iter __result, _Iter __a, _Iter __b, _Iter __c, _Comp __comp)
template<typename _Iter, typename _Out, typename _Comp>
_Out std::ranges::__detail::__move_merge (_Iter __first1, _Iter __last1, _Iter __first2, _Iter __last2, _Out __result, _Comp __comp)
template<typename _Iter1, typename _Iter2, typename _Out, typename _Comp>
void std::ranges::__detail::__move_merge_adaptive (_Iter1 __first1, _Iter1 __last1, _Iter2 __first2, _Iter2 __last2, _Out __result, _Comp __comp)
template<typename _Iter1, typename _Iter2, typename _Iter3, typename _Comp>
void std::ranges::__detail::__move_merge_adaptive_backward (_Iter1 __first1, _Iter1 __last1, _Iter2 __first2, _Iter2 __last2, _Iter3 __result, _Comp __comp)
template<typename _Iter, typename _Comp>
constexpr void std::ranges::__detail::__partial_sort (_Iter __first, _Iter __middle, _Iter __last, _Comp __comp)
template<typename _Iter, typename _Comp>
constexpr void std::ranges::__detail::__pop_heap (_Iter __first, _Iter __last, _Iter __result, _Comp __comp)
template<typename _Iter, typename _Comp>
constexpr void std::ranges::__detail::__push_heap (_Iter __first, iter_difference_t< _Iter > __holeIndex, iter_difference_t< _Iter > __topIndex, iter_value_t< _Iter > __value, _Comp __comp)
template<typename _Iter1, typename _Iter2>
_Iter1 std::ranges::__detail::__rotate_adaptive (_Iter1 __first, _Iter1 __middle, _Iter1 __last, iter_difference_t< _Iter1 > __len1, iter_difference_t< _Iter1 > __len2, _Iter2 __buffer, iter_difference_t< _Iter1 > __buffer_size)
template<typename _Iter, typename _Sent, typename _Pointer, typename _Pred, typename _Distance>
constexpr subrange< _Iter > std::ranges::__detail::__stable_partition_adaptive (_Iter __first, _Sent __last, _Pred __pred, _Distance __len, _Pointer __buffer, _Distance __buffer_size)
template<typename _Iter, typename _Pointer, typename _Comp>
void std::ranges::__detail::__stable_sort_adaptive (_Iter __first, _Iter __middle, _Iter __last, _Pointer __buffer, _Comp __comp)
template<typename _Iter, typename _Pointer, typename _Distance, typename _Comp>
void std::ranges::__detail::__stable_sort_adaptive_resize (_Iter __first, _Iter __last, _Pointer __buffer, _Distance __buffer_size, _Comp __comp)
template<typename _Iter, typename _Comp>
constexpr void std::ranges::__detail::__unguarded_insertion_sort (_Iter __first, _Iter __last, _Comp __comp)
template<typename _Iter, typename _Comp>
constexpr void std::ranges::__detail::__unguarded_linear_insert (_Iter __last, _Comp __comp)
template<typename _Iter, typename _Comp>
constexpr _Iter std::ranges::__detail::__unguarded_partition (_Iter __first, _Iter __last, _Iter __pivot, _Comp __comp)
template<typename _Iter, typename _Comp>
constexpr _Iter std::ranges::__detail::__unguarded_partition_pivot (_Iter __first, _Iter __last, _Comp __comp)
template<typename _ForwardIterator>
constexpr _ForwardIterator std::shift_left (_ForwardIterator __first, _ForwardIterator __last, typename iterator_traits< _ForwardIterator >::difference_type __n)
template<typename _ForwardIterator>
constexpr _ForwardIterator std::shift_right (_ForwardIterator __first, _ForwardIterator __last, typename iterator_traits< _ForwardIterator >::difference_type __n)

Variables

constexpr int std::ranges::__detail::__sort_threshold
constexpr __all_of_fn std::ranges::all_of
constexpr __any_of_fn std::ranges::any_of
constexpr __binary_search_fn std::ranges::binary_search
constexpr __clamp_fn std::ranges::clamp
constexpr __contains_fn std::ranges::contains
constexpr __contains_subrange_fn std::ranges::contains_subrange
constexpr __copy_if_fn std::ranges::copy_if
constexpr __count_fn std::ranges::count
constexpr __count_if_fn std::ranges::count_if
constexpr __ends_with_fn std::ranges::ends_with
constexpr __equal_range_fn std::ranges::equal_range
constexpr __find_end_fn std::ranges::find_end
constexpr __find_first_of_fn std::ranges::find_first_of
constexpr __find_last_fn std::ranges::find_last
constexpr __find_last_if_fn std::ranges::find_last_if
constexpr __find_last_if_not_fn std::ranges::find_last_if_not
constexpr __fold_left_fn std::ranges::fold_left
constexpr __fold_left_first_fn std::ranges::fold_left_first
constexpr __fold_left_first_with_iter_fn std::ranges::fold_left_first_with_iter
constexpr __fold_left_with_iter_fn std::ranges::fold_left_with_iter
constexpr __fold_right_fn std::ranges::fold_right
constexpr __fold_right_last_fn std::ranges::fold_right_last
constexpr __for_each_fn std::ranges::for_each
constexpr __for_each_n_fn std::ranges::for_each_n
constexpr __generate_fn std::ranges::generate
constexpr __generate_n_fn std::ranges::generate_n
constexpr __includes_fn std::ranges::includes
constexpr __inplace_merge_fn std::ranges::inplace_merge
constexpr __is_heap_fn std::ranges::is_heap
constexpr __is_heap_until_fn std::ranges::is_heap_until
constexpr __is_partitioned_fn std::ranges::is_partitioned
constexpr __is_permutation_fn std::ranges::is_permutation
constexpr __is_sorted_fn std::ranges::is_sorted
constexpr __is_sorted_until_fn std::ranges::is_sorted_until
constexpr __lexicographical_compare_fn std::ranges::lexicographical_compare
constexpr __lower_bound_fn std::ranges::lower_bound
constexpr __make_heap_fn std::ranges::make_heap
constexpr __max_fn std::ranges::max
constexpr __max_element_fn std::ranges::max_element
constexpr __merge_fn std::ranges::merge
constexpr __min_element_fn std::ranges::min_element
constexpr __minmax_fn std::ranges::minmax
constexpr __minmax_element_fn std::ranges::minmax_element
constexpr __next_permutation_fn std::ranges::next_permutation
constexpr __none_of_fn std::ranges::none_of
constexpr __nth_element_fn std::ranges::nth_element
constexpr __partial_sort_fn std::ranges::partial_sort
constexpr __partial_sort_copy_fn std::ranges::partial_sort_copy
constexpr __partition_fn std::ranges::partition
constexpr __partition_copy_fn std::ranges::partition_copy
constexpr __partition_point_fn std::ranges::partition_point
constexpr __pop_heap_fn std::ranges::pop_heap
constexpr __prev_permutation_fn std::ranges::prev_permutation
constexpr __push_heap_fn std::ranges::push_heap
constexpr __remove_fn std::ranges::remove
constexpr __remove_copy_fn std::ranges::remove_copy
constexpr __remove_copy_if_fn std::ranges::remove_copy_if
constexpr __remove_if_fn std::ranges::remove_if
constexpr __replace_fn std::ranges::replace
constexpr __replace_copy_fn std::ranges::replace_copy
constexpr __replace_copy_if_fn std::ranges::replace_copy_if
constexpr __replace_if_fn std::ranges::replace_if
constexpr __reverse_fn std::ranges::reverse
constexpr __reverse_copy_fn std::ranges::reverse_copy
constexpr __rotate_fn std::ranges::rotate
constexpr __rotate_copy_fn std::ranges::rotate_copy
constexpr __sample_fn std::ranges::sample
constexpr __search_n_fn std::ranges::search_n
constexpr __set_difference_fn std::ranges::set_difference
constexpr __set_intersection_fn std::ranges::set_intersection
constexpr __set_symmetric_difference_fn std::ranges::set_symmetric_difference
constexpr __set_union_fn std::ranges::set_union
constexpr __shift_left_fn std::ranges::shift_left
constexpr __shift_right_fn std::ranges::shift_right
constexpr __shuffle_fn std::ranges::shuffle
constexpr __sort_fn std::ranges::sort
constexpr __sort_heap_fn std::ranges::sort_heap
constexpr __stable_partition_fn std::ranges::stable_partition
constexpr __stable_sort_fn std::ranges::stable_sort
constexpr __starts_with_fn std::ranges::starts_with
constexpr __swap_ranges_fn std::ranges::swap_ranges
constexpr __transform_fn std::ranges::transform
constexpr __unique_fn std::ranges::unique
constexpr __unique_copy_fn std::ranges::unique_copy
constexpr __upper_bound_fn std::ranges::upper_bound

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 ranges_algo.h.

Typedef Documentation

◆ __by_ref_or_value_fn

template<typename _Fp>
using std::ranges::__detail::__by_ref_or_value_fn

Definition at line 52 of file ranges_algo.h.

◆ binary_transform_result

template<typename _Iter1, typename _Iter2, typename _Out>
using std::ranges::binary_transform_result

Definition at line 1023 of file ranges_algo.h.

◆ copy_if_result

template<typename _Iter, typename _Out>
using std::ranges::copy_if_result

Definition at line 926 of file ranges_algo.h.

◆ fold_left_first_with_iter_result

template<typename _Iter, typename _Tp>
using std::ranges::fold_left_first_with_iter_result

Definition at line 5136 of file ranges_algo.h.

◆ fold_left_with_iter_result

template<typename _Iter, typename _Tp>
using std::ranges::fold_left_with_iter_result

Definition at line 5067 of file ranges_algo.h.

◆ for_each_n_result

template<typename _Iter, typename _Fp>
using std::ranges::for_each_n_result

Definition at line 268 of file ranges_algo.h.

◆ for_each_result

template<typename _Iter, typename _Fp>
using std::ranges::for_each_result

Definition at line 212 of file ranges_algo.h.

◆ merge_result

template<typename _Iter1, typename _Iter2, typename _Out>
using std::ranges::merge_result

Definition at line 3573 of file ranges_algo.h.

◆ minmax_element_result

template<typename _Iter>
using std::ranges::minmax_element_result

Definition at line 4487 of file ranges_algo.h.

◆ minmax_result

template<typename _Tp>
using std::ranges::minmax_result

Definition at line 4319 of file ranges_algo.h.

◆ next_permutation_result

template<typename _Iter>
using std::ranges::next_permutation_result

Definition at line 4692 of file ranges_algo.h.

◆ partial_sort_copy_result

template<typename _Iter, typename _Out>
using std::ranges::partial_sort_copy_result

Definition at line 2816 of file ranges_algo.h.

◆ partition_copy_result

template<typename _Iter, typename _Out1, typename _Out2>
using std::ranges::partition_copy_result

Definition at line 3481 of file ranges_algo.h.

◆ prev_permutation_result

template<typename _Iter>
using std::ranges::prev_permutation_result

Definition at line 4754 of file ranges_algo.h.

◆ remove_copy_if_result

template<typename _Iter, typename _Out>
using std::ranges::remove_copy_if_result

Definition at line 1382 of file ranges_algo.h.

◆ remove_copy_result

template<typename _Iter, typename _Out>
using std::ranges::remove_copy_result

Definition at line 1421 of file ranges_algo.h.

◆ replace_copy_if_result

template<typename _Iter, typename _Out>
using std::ranges::replace_copy_if_result

Definition at line 1222 of file ranges_algo.h.

◆ replace_copy_result

template<typename _Iter, typename _Out>
using std::ranges::replace_copy_result

Definition at line 1173 of file ranges_algo.h.

◆ reverse_copy_result

template<typename _Iter, typename _Out>
using std::ranges::reverse_copy_result

Definition at line 1645 of file ranges_algo.h.

◆ rotate_copy_result

template<typename _Iter, typename _Out>
using std::ranges::rotate_copy_result

Definition at line 1830 of file ranges_algo.h.

◆ set_difference_result

template<typename _Iter, typename _Out>
using std::ranges::set_difference_result

Definition at line 4092 of file ranges_algo.h.

◆ set_intersection_result

template<typename _Iter1, typename _Iter2, typename _Out>
using std::ranges::set_intersection_result

Definition at line 4034 of file ranges_algo.h.

◆ set_symmetric_difference_result

template<typename _Iter1, typename _Iter2, typename _Out>
using std::ranges::set_symmetric_difference_result

Definition at line 4149 of file ranges_algo.h.

◆ set_union_result

template<typename _Iter1, typename _Iter2, typename _Out>
using std::ranges::set_union_result

Definition at line 3966 of file ranges_algo.h.

◆ swap_ranges_result

template<typename _Iter1, typename _Iter2>
using std::ranges::swap_ranges_result

Definition at line 965 of file ranges_algo.h.

◆ unary_transform_result

template<typename _Iter, typename _Out>
using std::ranges::unary_transform_result

Definition at line 996 of file ranges_algo.h.

◆ unique_copy_result

template<typename _Iter, typename _Out>
using std::ranges::unique_copy_result

Definition at line 1510 of file ranges_algo.h.

Function Documentation

◆ __adjust_heap()

template<typename _Iter, typename _Comp>
void std::ranges::__detail::__adjust_heap ( _Iter __first,
iter_difference_t< _Iter > __holeIndex,
iter_difference_t< _Iter > __len,
iter_value_t< _Iter > __value,
_Comp __comp )
constexpr

Definition at line 2126 of file ranges_algo.h.

◆ __chunk_insertion_sort()

template<typename _Iter, typename _Distance, typename _Compare>
void std::ranges::__detail::__chunk_insertion_sort ( _Iter __first,
_Iter __last,
_Distance __chunk_size,
_Compare __comp )
constexpr

Definition at line 2593 of file ranges_algo.h.

◆ __final_insertion_sort()

template<typename _Iter, typename _Comp>
void std::ranges::__detail::__final_insertion_sort ( _Iter __first,
_Iter __last,
_Comp __comp )
constexpr

Definition at line 2425 of file ranges_algo.h.

◆ __find_if_not_n()

template<typename _Iter, typename _Pred, typename _Distance>
_Iter std::ranges::__detail::__find_if_not_n ( _Iter __first,
_Distance & __len,
_Pred __pred )
constexpr

Definition at line 3333 of file ranges_algo.h.

◆ __for_each()

template<typename _InputIterator, typename _Sentinel, typename _Function, typename _Proj>
_InputIterator std::ranges::__for_each ( _InputIterator __first,
_Sentinel __last,
_Function && __f,
_Proj & __proj )
constexpr

Definition at line 222 of file ranges_algo.h.

◆ __heap_select()

template<typename _Iter, typename _Comp>
void std::ranges::__detail::__heap_select ( _Iter __first,
_Iter __middle,
_Iter __last,
_Comp __comp )
constexpr

Definition at line 2469 of file ranges_algo.h.

◆ __inplace_stable_sort()

template<typename _Iter, typename _Comp>
void std::ranges::__detail::__inplace_stable_sort ( _Iter __first,
_Iter __last,
_Comp __comp )
constexpr

Definition at line 2689 of file ranges_algo.h.

◆ __insertion_sort()

template<typename _Iter, typename _Comp>
void std::ranges::__detail::__insertion_sort ( _Iter __first,
_Iter __last,
_Comp __comp )
constexpr

Definition at line 2395 of file ranges_algo.h.

◆ __introselect()

template<typename _Iter, typename _Comp>
void std::ranges::__detail::__introselect ( _Iter __first,
_Iter __nth,
_Iter __last,
iter_difference_t< _Iter > __depth_limit,
_Comp __comp )
constexpr

Definition at line 2964 of file ranges_algo.h.

◆ __introsort_loop()

template<typename _Iter, typename _Comp>
void std::ranges::__detail::__introsort_loop ( _Iter __first,
_Iter __last,
unsigned __depth_limit,
_Comp __comp )
constexpr

Definition at line 2487 of file ranges_algo.h.

◆ __make_comp_proj()

template<typename _Comp, typename _Proj>
_Comp_proj< _Comp, _Proj > std::ranges::__detail::__make_comp_proj ( _Comp & __comp,
_Proj & __proj )
constexpr

Definition at line 77 of file ranges_algo.h.

◆ __make_pred_proj()

template<typename _Pred, typename _Proj>
_Pred_proj< _Pred, _Proj > std::ranges::__detail::__make_pred_proj ( _Pred & __pred,
_Proj & __proj )
constexpr

Definition at line 102 of file ranges_algo.h.

◆ __merge_adaptive()

template<typename _Iter, typename _Pointer, typename _Comp>
void std::ranges::__detail::__merge_adaptive ( _Iter __first,
_Iter __middle,
_Iter __last,
iter_difference_t< _Iter > __len1,
iter_difference_t< _Iter > __len2,
_Pointer __buffer,
_Comp __comp )

Definition at line 3734 of file ranges_algo.h.

◆ __merge_adaptive_resize()

template<typename _Iter, typename _Distance, typename _Pointer, typename _Comp>
void std::ranges::__detail::__merge_adaptive_resize ( _Iter __first,
_Iter __middle,
_Iter __last,
_Distance __len1,
_Distance __len2,
_Pointer __buffer,
_Distance __buffer_size,
_Comp __comp )

Definition at line 3755 of file ranges_algo.h.

◆ __merge_sort_loop()

template<typename _Iter, typename _Out, typename _Distance, typename _Comp>
void std::ranges::__detail::__merge_sort_loop ( _Iter __first,
_Iter __last,
_Out __result,
_Distance __step_size,
_Comp __comp )

Definition at line 2572 of file ranges_algo.h.

◆ __merge_sort_with_buffer()

template<typename _Iter, typename _Pointer, typename _Comp>
void std::ranges::__detail::__merge_sort_with_buffer ( _Iter __first,
_Iter __last,
_Pointer __buffer,
_Comp __comp )

Definition at line 2606 of file ranges_algo.h.

◆ __merge_without_buffer()

template<typename _Iter, typename _Distance, typename _Comp>
void std::ranges::__detail::__merge_without_buffer ( _Iter __first,
_Iter __middle,
_Iter __last,
_Distance __len1,
_Distance __len2,
_Comp __comp )
constexpr

Definition at line 3802 of file ranges_algo.h.

◆ __move_median_to_first()

template<typename _Iter, typename _Comp>
void std::ranges::__detail::__move_median_to_first ( _Iter __result,
_Iter __a,
_Iter __b,
_Iter __c,
_Comp __comp )
constexpr

Definition at line 2357 of file ranges_algo.h.

◆ __move_merge()

template<typename _Iter, typename _Out, typename _Comp>
_Out std::ranges::__detail::__move_merge ( _Iter __first1,
_Iter __last1,
_Iter __first2,
_Iter __last2,
_Out __result,
_Comp __comp )

Definition at line 2548 of file ranges_algo.h.

◆ __move_merge_adaptive()

template<typename _Iter1, typename _Iter2, typename _Out, typename _Comp>
void std::ranges::__detail::__move_merge_adaptive ( _Iter1 __first1,
_Iter1 __last1,
_Iter2 __first2,
_Iter2 __last2,
_Out __result,
_Comp __comp )

Definition at line 3637 of file ranges_algo.h.

◆ __move_merge_adaptive_backward()

template<typename _Iter1, typename _Iter2, typename _Iter3, typename _Comp>
void std::ranges::__detail::__move_merge_adaptive_backward ( _Iter1 __first1,
_Iter1 __last1,
_Iter2 __first2,
_Iter2 __last2,
_Iter3 __result,
_Comp __comp )

Definition at line 3661 of file ranges_algo.h.

◆ __partial_sort()

template<typename _Iter, typename _Comp>
void std::ranges::__detail::__partial_sort ( _Iter __first,
_Iter __middle,
_Iter __last,
_Comp __comp )
constexpr

Definition at line 2479 of file ranges_algo.h.

◆ __pop_heap()

template<typename _Iter, typename _Comp>
void std::ranges::__detail::__pop_heap ( _Iter __first,
_Iter __last,
_Iter __result,
_Comp __comp )
constexpr

Definition at line 2155 of file ranges_algo.h.

◆ __push_heap()

template<typename _Iter, typename _Comp>
void std::ranges::__detail::__push_heap ( _Iter __first,
iter_difference_t< _Iter > __holeIndex,
iter_difference_t< _Iter > __topIndex,
iter_value_t< _Iter > __value,
_Comp __comp )
constexpr

Definition at line 2069 of file ranges_algo.h.

◆ __rotate_adaptive()

template<typename _Iter1, typename _Iter2>
_Iter1 std::ranges::__detail::__rotate_adaptive ( _Iter1 __first,
_Iter1 __middle,
_Iter1 __last,
iter_difference_t< _Iter1 > __len1,
iter_difference_t< _Iter1 > __len2,
_Iter2 __buffer,
iter_difference_t< _Iter1 > __buffer_size )

Definition at line 3699 of file ranges_algo.h.

◆ __stable_partition_adaptive()

template<typename _Iter, typename _Sent, typename _Pointer, typename _Pred, typename _Distance>
subrange< _Iter > std::ranges::__detail::__stable_partition_adaptive ( _Iter __first,
_Sent __last,
_Pred __pred,
_Distance __len,
_Pointer __buffer,
_Distance __buffer_size )
constexpr

Definition at line 3344 of file ranges_algo.h.

◆ __stable_sort_adaptive()

template<typename _Iter, typename _Pointer, typename _Comp>
void std::ranges::__detail::__stable_sort_adaptive ( _Iter __first,
_Iter __middle,
_Iter __last,
_Pointer __buffer,
_Comp __comp )

Definition at line 2651 of file ranges_algo.h.

◆ __stable_sort_adaptive_resize()

template<typename _Iter, typename _Pointer, typename _Distance, typename _Comp>
void std::ranges::__detail::__stable_sort_adaptive_resize ( _Iter __first,
_Iter __last,
_Pointer __buffer,
_Distance __buffer_size,
_Comp __comp )

Definition at line 2664 of file ranges_algo.h.

◆ __unguarded_insertion_sort()

template<typename _Iter, typename _Comp>
void std::ranges::__detail::__unguarded_insertion_sort ( _Iter __first,
_Iter __last,
_Comp __comp )
constexpr

Definition at line 2415 of file ranges_algo.h.

◆ __unguarded_linear_insert()

template<typename _Iter, typename _Comp>
void std::ranges::__detail::__unguarded_linear_insert ( _Iter __last,
_Comp __comp )
constexpr

Definition at line 2379 of file ranges_algo.h.

◆ __unguarded_partition()

template<typename _Iter, typename _Comp>
_Iter std::ranges::__detail::__unguarded_partition ( _Iter __first,
_Iter __last,
_Iter __pivot,
_Comp __comp )
constexpr

Definition at line 2440 of file ranges_algo.h.

◆ __unguarded_partition_pivot()

template<typename _Iter, typename _Comp>
_Iter std::ranges::__detail::__unguarded_partition_pivot ( _Iter __first,
_Iter __last,
_Comp __comp )
constexpr

Definition at line 2458 of file ranges_algo.h.

Variable Documentation

◆ __sort_threshold

int std::ranges::__detail::__sort_threshold
inlineconstexpr

Definition at line 2421 of file ranges_algo.h.

◆ all_of

__all_of_fn std::ranges::all_of
inlineconstexpr

Definition at line 133 of file ranges_algo.h.

◆ any_of

__any_of_fn std::ranges::any_of
inlineconstexpr

Definition at line 161 of file ranges_algo.h.

◆ binary_search

__binary_search_fn std::ranges::binary_search
inlineconstexpr

Definition at line 3221 of file ranges_algo.h.

◆ clamp

__clamp_fn std::ranges::clamp
inlineconstexpr

Definition at line 4297 of file ranges_algo.h.

◆ contains

__contains_fn std::ranges::contains
inlineconstexpr

Definition at line 4838 of file ranges_algo.h.

◆ contains_subrange

__contains_subrange_fn std::ranges::contains_subrange
inlineconstexpr

Definition at line 4871 of file ranges_algo.h.

◆ copy_if

__copy_if_fn std::ranges::copy_if
inlineconstexpr

Definition at line 962 of file ranges_algo.h.

◆ count

__count_fn std::ranges::count
inlineconstexpr

Definition at line 374 of file ranges_algo.h.

◆ count_if

__count_if_fn std::ranges::count_if
inlineconstexpr

Definition at line 404 of file ranges_algo.h.

◆ ends_with

__ends_with_fn std::ranges::ends_with
inlineconstexpr

Definition at line 746 of file ranges_algo.h.

◆ equal_range

__equal_range_fn std::ranges::equal_range
inlineconstexpr

Definition at line 3185 of file ranges_algo.h.

◆ find_end

__find_end_fn std::ranges::find_end
inlineconstexpr

Definition at line 824 of file ranges_algo.h.

◆ find_first_of

__find_first_of_fn std::ranges::find_first_of
inlineconstexpr

Definition at line 339 of file ranges_algo.h.

◆ find_last

__find_last_fn std::ranges::find_last
inlineconstexpr

Definition at line 4921 of file ranges_algo.h.

◆ find_last_if

__find_last_if_fn std::ranges::find_last_if
inlineconstexpr

Definition at line 4963 of file ranges_algo.h.

◆ find_last_if_not

__find_last_if_not_fn std::ranges::find_last_if_not
inlineconstexpr

Definition at line 5005 of file ranges_algo.h.

◆ fold_left

__fold_left_fn std::ranges::fold_left
inlineconstexpr

Definition at line 5133 of file ranges_algo.h.

◆ fold_left_first

__fold_left_first_fn std::ranges::fold_left_first
inlineconstexpr

Definition at line 5200 of file ranges_algo.h.

◆ fold_left_first_with_iter

__fold_left_first_with_iter_fn std::ranges::fold_left_first_with_iter
inlineconstexpr

Definition at line 5178 of file ranges_algo.h.

◆ fold_left_with_iter

__fold_left_with_iter_fn std::ranges::fold_left_with_iter
inlineconstexpr

Definition at line 5111 of file ranges_algo.h.

◆ fold_right

__fold_right_fn std::ranges::fold_right
inlineconstexpr

Definition at line 5230 of file ranges_algo.h.

◆ fold_right_last

__fold_right_last_fn std::ranges::fold_right_last
inlineconstexpr

Definition at line 5261 of file ranges_algo.h.

◆ for_each

__for_each_fn std::ranges::for_each
inlineconstexpr

Definition at line 265 of file ranges_algo.h.

◆ for_each_n

__for_each_n_fn std::ranges::for_each_n
inlineconstexpr

Definition at line 298 of file ranges_algo.h.

◆ generate

__generate_fn std::ranges::generate
inlineconstexpr

Definition at line 1304 of file ranges_algo.h.

◆ generate_n

__generate_n_fn std::ranges::generate_n
inlineconstexpr

Definition at line 1279 of file ranges_algo.h.

◆ includes

__includes_fn std::ranges::includes
inlineconstexpr

Definition at line 3963 of file ranges_algo.h.

◆ inplace_merge

__inplace_merge_fn std::ranges::inplace_merge
inlineconstexpr

Definition at line 3913 of file ranges_algo.h.

◆ is_heap

__is_heap_fn std::ranges::is_heap
inlineconstexpr

Definition at line 2351 of file ranges_algo.h.

◆ is_heap_until

__is_heap_until_fn std::ranges::is_heap_until
inlineconstexpr

Definition at line 2321 of file ranges_algo.h.

◆ is_partitioned

__is_partitioned_fn std::ranges::is_partitioned
inlineconstexpr

Definition at line 3252 of file ranges_algo.h.

◆ is_permutation

__is_permutation_fn std::ranges::is_permutation
inlineconstexpr

Definition at line 923 of file ranges_algo.h.

◆ is_sorted

__is_sorted_fn std::ranges::is_sorted
inlineconstexpr

Definition at line 2958 of file ranges_algo.h.

◆ is_sorted_until

__is_sorted_until_fn std::ranges::is_sorted_until
inlineconstexpr

Definition at line 2923 of file ranges_algo.h.

◆ lexicographical_compare

__lexicographical_compare_fn std::ranges::lexicographical_compare
inlineconstexpr

Definition at line 4670 of file ranges_algo.h.

◆ lower_bound

__lower_bound_fn std::ranges::lower_bound
inlineconstexpr

Definition at line 3074 of file ranges_algo.h.

◆ make_heap

__make_heap_fn std::ranges::make_heap
inlineconstexpr

Definition at line 2246 of file ranges_algo.h.

◆ max

__max_fn std::ranges::max
inlineconstexpr

Definition at line 4269 of file ranges_algo.h.

◆ max_element

__max_element_fn std::ranges::max_element
inlineconstexpr

Definition at line 4484 of file ranges_algo.h.

◆ merge

__merge_fn std::ranges::merge
inlineconstexpr

Definition at line 3631 of file ranges_algo.h.

◆ min_element

__min_element_fn std::ranges::min_element
inlineconstexpr

Definition at line 4447 of file ranges_algo.h.

◆ minmax

__minmax_fn std::ranges::minmax
inlineconstexpr

Definition at line 4410 of file ranges_algo.h.

◆ minmax_element

__minmax_element_fn std::ranges::minmax_element
inlineconstexpr

Definition at line 4558 of file ranges_algo.h.

◆ next_permutation

__next_permutation_fn std::ranges::next_permutation
inlineconstexpr

Definition at line 4751 of file ranges_algo.h.

◆ none_of

__none_of_fn std::ranges::none_of
inlineconstexpr

Definition at line 189 of file ranges_algo.h.

◆ nth_element

__nth_element_fn std::ranges::nth_element
inlineconstexpr

Definition at line 3026 of file ranges_algo.h.

◆ partial_sort

__partial_sort_fn std::ranges::partial_sort
inlineconstexpr

Definition at line 2813 of file ranges_algo.h.

◆ partial_sort_copy

__partial_sort_copy_fn std::ranges::partial_sort_copy
inlineconstexpr

Definition at line 2888 of file ranges_algo.h.

◆ partition

__partition_fn std::ranges::partition
inlineconstexpr

Definition at line 3323 of file ranges_algo.h.

◆ partition_copy

__partition_copy_fn std::ranges::partition_copy
inlineconstexpr

Definition at line 3529 of file ranges_algo.h.

◆ partition_point

__partition_point_fn std::ranges::partition_point
inlineconstexpr

Definition at line 3570 of file ranges_algo.h.

◆ pop_heap

__pop_heap_fn std::ranges::pop_heap
inlineconstexpr

Definition at line 2199 of file ranges_algo.h.

◆ prev_permutation

__prev_permutation_fn std::ranges::prev_permutation
inlineconstexpr

Definition at line 4813 of file ranges_algo.h.

◆ push_heap

__push_heap_fn std::ranges::push_heap
inlineconstexpr

Definition at line 2120 of file ranges_algo.h.

◆ remove

__remove_fn std::ranges::remove
inlineconstexpr

Definition at line 1379 of file ranges_algo.h.

◆ remove_copy

__remove_copy_fn std::ranges::remove_copy
inlineconstexpr

Definition at line 1462 of file ranges_algo.h.

◆ remove_copy_if

__remove_copy_if_fn std::ranges::remove_copy_if
inlineconstexpr

Definition at line 1418 of file ranges_algo.h.

◆ remove_if

__remove_if_fn std::ranges::remove_if
inlineconstexpr

Definition at line 1343 of file ranges_algo.h.

◆ replace

__replace_fn std::ranges::replace
inlineconstexpr

Definition at line 1136 of file ranges_algo.h.

◆ replace_copy

__replace_copy_fn std::ranges::replace_copy
inlineconstexpr

Definition at line 1219 of file ranges_algo.h.

◆ replace_copy_if

__replace_copy_if_fn std::ranges::replace_copy_if
inlineconstexpr

Definition at line 1263 of file ranges_algo.h.

◆ replace_if

__replace_if_fn std::ranges::replace_if
inlineconstexpr

Definition at line 1170 of file ranges_algo.h.

◆ reverse

__reverse_fn std::ranges::reverse
inlineconstexpr

Definition at line 1642 of file ranges_algo.h.

◆ reverse_copy

__reverse_copy_fn std::ranges::reverse_copy
inlineconstexpr

Definition at line 1676 of file ranges_algo.h.

◆ rotate

__rotate_fn std::ranges::rotate
inlineconstexpr

Definition at line 1827 of file ranges_algo.h.

◆ rotate_copy

__rotate_copy_fn std::ranges::rotate_copy
inlineconstexpr

Definition at line 1860 of file ranges_algo.h.

◆ sample

__sample_fn std::ranges::sample
inlineconstexpr

Definition at line 1974 of file ranges_algo.h.

◆ search_n

__search_n_fn std::ranges::search_n
inlineconstexpr

Definition at line 499 of file ranges_algo.h.

◆ set_difference

__set_difference_fn std::ranges::set_difference
inlineconstexpr

Definition at line 4146 of file ranges_algo.h.

◆ set_intersection

__set_intersection_fn std::ranges::set_intersection
inlineconstexpr

Definition at line 4089 of file ranges_algo.h.

◆ set_symmetric_difference

__set_symmetric_difference_fn std::ranges::set_symmetric_difference
inlineconstexpr

Definition at line 4213 of file ranges_algo.h.

◆ set_union

__set_union_fn std::ranges::set_union
inlineconstexpr

Definition at line 4031 of file ranges_algo.h.

◆ shift_left

__shift_left_fn std::ranges::shift_left
inlineconstexpr

Definition at line 5385 of file ranges_algo.h.

◆ shift_right

__shift_right_fn std::ranges::shift_right
inlineconstexpr

Definition at line 5468 of file ranges_algo.h.

◆ shuffle

__shuffle_fn std::ranges::shuffle
inlineconstexpr

Definition at line 2063 of file ranges_algo.h.

◆ sort

__sort_fn std::ranges::sort
inlineconstexpr

Definition at line 2541 of file ranges_algo.h.

◆ sort_heap

__sort_heap_fn std::ranges::sort_heap
inlineconstexpr

Definition at line 2284 of file ranges_algo.h.

◆ stable_partition

__stable_partition_fn std::ranges::stable_partition
inlineconstexpr

Definition at line 3453 of file ranges_algo.h.

◆ stable_sort

__stable_sort_fn std::ranges::stable_sort
inlineconstexpr

Definition at line 2770 of file ranges_algo.h.

◆ starts_with

__starts_with_fn std::ranges::starts_with
inlineconstexpr

Definition at line 582 of file ranges_algo.h.

◆ swap_ranges

__swap_ranges_fn std::ranges::swap_ranges
inlineconstexpr

Definition at line 993 of file ranges_algo.h.

◆ transform

__transform_fn std::ranges::transform
inlineconstexpr

Definition at line 1096 of file ranges_algo.h.

◆ unique

__unique_fn std::ranges::unique
inlineconstexpr

Definition at line 1500 of file ranges_algo.h.

◆ unique_copy

__unique_copy_fn std::ranges::unique_copy
inlineconstexpr

Definition at line 1593 of file ranges_algo.h.

◆ upper_bound

__upper_bound_fn std::ranges::upper_bound
inlineconstexpr

Definition at line 3122 of file ranges_algo.h.