ranges_algo.h File Reference

Go to the source code of this file.

## Namespaces

namespace | std

## Macros

#define | __cpp_lib_shift

## Typedefs

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 _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 _Comp, typename _Proj>
constexpr auto | std::ranges::__detail::__make_comp_proj (_Comp &__comp, _Proj &__proj)
template<typename _Pred, typename _Proj>
constexpr auto | std::ranges::__detail::__make_pred_proj (_Pred &__pred, _Proj &__proj)
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 __adjacent_find_fn | std::ranges::adjacent_find
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 __copy_if_fn | std::ranges::copy_if
constexpr __count_fn | std::ranges::count
constexpr __count_if_fn | std::ranges::count_if
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 __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_fn | std::ranges::min
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 __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 __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.

## Macro Definition Documentation

## __cpp_lib_shift

#define __cpp_lib_shift

Definition at line 3555 of file ranges_algo.h.

## Typedef Documentation

## binary_transform_result

template<typename _Iter1, typename _Iter2, typename _Out>

using std::ranges::binary_transform_result

Definition at line 732 of file ranges_algo.h.

## copy_if_result

template<typename _Iter, typename _Out>

using std::ranges::copy_if_result

Definition at line 635 of file ranges_algo.h.

## for_each_n_result

template<typename _Iter, typename _Fp>

using std::ranges::for_each_n_result

Definition at line 205 of file ranges_algo.h.

## for_each_result

template<typename _Iter, typename _Fp>

using std::ranges::for_each_result

Definition at line 176 of file ranges_algo.h.

## merge_result

template<typename _Iter1, typename _Iter2, typename _Out>

using std::ranges::merge_result

Definition at line 2513 of file ranges_algo.h.

## minmax_element_result

template<typename _Iter>

using std::ranges::minmax_element_result

Definition at line 3224 of file ranges_algo.h.

## minmax_result

template<typename _Tp>

using std::ranges::minmax_result

Definition at line 3056 of file ranges_algo.h.

## next_permutation_result

template<typename _Iter>

using std::ranges::next_permutation_result

Definition at line 3429 of file ranges_algo.h.

## partial_sort_copy_result

template<typename _Iter, typename _Out>

using std::ranges::partial_sort_copy_result

Definition at line 1908 of file ranges_algo.h.

## partition_copy_result

template<typename _Iter, typename _Out1, typename _Out2>

using std::ranges::partition_copy_result

Definition at line 2421 of file ranges_algo.h.

## prev_permutation_result

template<typename _Iter>

using std::ranges::prev_permutation_result

Definition at line 3491 of file ranges_algo.h.

## remove_copy_if_result

template<typename _Iter, typename _Out>

using std::ranges::remove_copy_if_result

Definition at line 1071 of file ranges_algo.h.

## remove_copy_result

template<typename _Iter, typename _Out>

using std::ranges::remove_copy_result

Definition at line 1110 of file ranges_algo.h.

## replace_copy_if_result

template<typename _Iter, typename _Out>

using std::ranges::replace_copy_if_result

Definition at line 918 of file ranges_algo.h.

## replace_copy_result

template<typename _Iter, typename _Out>

using std::ranges::replace_copy_result

Definition at line 875 of file ranges_algo.h.

## reverse_copy_result

template<typename _Iter, typename _Out>

using std::ranges::reverse_copy_result

Definition at line 1328 of file ranges_algo.h.

## rotate_copy_result

template<typename _Iter, typename _Out>

using std::ranges::rotate_copy_result

Definition at line 1509 of file ranges_algo.h.

## set_difference_result

template<typename _Iter, typename _Out>

using std::ranges::set_difference_result

Definition at line 2781 of file ranges_algo.h.

## set_intersection_result

template<typename _Iter1, typename _Iter2, typename _Out>

using std::ranges::set_intersection_result

Definition at line 2723 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 2838 of file ranges_algo.h.

## set_union_result

template<typename _Iter1, typename _Iter2, typename _Out>

using std::ranges::set_union_result

Definition at line 2655 of file ranges_algo.h.

## swap_ranges_result

template<typename _Iter1, typename _Iter2>

using std::ranges::swap_ranges_result

Definition at line 674 of file ranges_algo.h.

## unary_transform_result

template<typename _Iter, typename _Out>

using std::ranges::unary_transform_result

Definition at line 705 of file ranges_algo.h.

## unique_copy_result

template<typename _Iter, typename _Out>

using std::ranges::unique_copy_result

Definition at line 1196 of file ranges_algo.h.

## Function Documentation

## __make_comp_proj()

template<typename _Comp, typename _Proj>

auto std::ranges::__detail::__make_comp_proj | ( | _Comp & | __comp,
|  | _Proj & | __proj )

constexpr

Definition at line 49 of file ranges_algo.h.

## __make_pred_proj()

template<typename _Pred, typename _Proj>

auto std::ranges::__detail::__make_pred_proj | ( | _Pred & | __pred,
|  | _Proj & | __proj )

constexpr

Definition at line 62 of file ranges_algo.h.

## Variable Documentation

## adjacent_find

__adjacent_find_fn std::ranges::adjacent_find

inline constexpr

Definition at line 545 of file ranges_algo.h.

## all_of

__all_of_fn std::ranges::all_of

inline constexpr

Definition at line 97 of file ranges_algo.h.

## any_of

__any_of_fn std::ranges::any_of

inline constexpr

Definition at line 125 of file ranges_algo.h.

## binary_search

__binary_search_fn std::ranges::binary_search

inline constexpr

Definition at line 2261 of file ranges_algo.h.

## clamp

__clamp_fn std::ranges::clamp

inline constexpr

Definition at line 3034 of file ranges_algo.h.

## copy_if

__copy_if_fn std::ranges::copy_if

inline constexpr

Definition at line 671 of file ranges_algo.h.

## count

__count_fn std::ranges::count

inline constexpr

Definition at line 308 of file ranges_algo.h.

## count_if

__count_if_fn std::ranges::count_if

inline constexpr

Definition at line 338 of file ranges_algo.h.

## equal_range

__equal_range_fn std::ranges::equal_range

inline constexpr

Definition at line 2228 of file ranges_algo.h.

## find_end

__find_end_fn std::ranges::find_end

inline constexpr

Definition at line 507 of file ranges_algo.h.

## find_first_of

__find_first_of_fn std::ranges::find_first_of

inline constexpr

Definition at line 276 of file ranges_algo.h.

## for_each

__for_each_fn std::ranges::for_each

inline constexpr

Definition at line 202 of file ranges_algo.h.

## for_each_n

__for_each_n_fn std::ranges::for_each_n

inline constexpr

Definition at line 235 of file ranges_algo.h.

## generate

__generate_fn std::ranges::generate

inline constexpr

Definition at line 996 of file ranges_algo.h.

## generate_n

__generate_n_fn std::ranges::generate_n

inline constexpr

Definition at line 971 of file ranges_algo.h.

## includes

__includes_fn std::ranges::includes

inline constexpr

Definition at line 2652 of file ranges_algo.h.

## inplace_merge

__inplace_merge_fn std::ranges::inplace_merge

inline constexpr

Definition at line 2602 of file ranges_algo.h.

## is_heap

__is_heap_fn std::ranges::is_heap

inline constexpr

Definition at line 1806 of file ranges_algo.h.

## is_heap_until

__is_heap_until_fn std::ranges::is_heap_until

inline constexpr

Definition at line 1776 of file ranges_algo.h.

## is_partitioned

__is_partitioned_fn std::ranges::is_partitioned

inline constexpr

Definition at line 2292 of file ranges_algo.h.

## is_permutation

__is_permutation_fn std::ranges::is_permutation

inline constexpr

Definition at line 632 of file ranges_algo.h.

## is_sorted

__is_sorted_fn std::ranges::is_sorted

inline constexpr

Definition at line 2050 of file ranges_algo.h.

## is_sorted_until

__is_sorted_until_fn std::ranges::is_sorted_until

inline constexpr

Definition at line 2015 of file ranges_algo.h.

## lexicographical_compare

__lexicographical_compare_fn std::ranges::lexicographical_compare

inline constexpr

Definition at line 3407 of file ranges_algo.h.

## lower_bound

__lower_bound_fn std::ranges::lower_bound

inline constexpr

Definition at line 2124 of file ranges_algo.h.

## make_heap

__make_heap_fn std::ranges::make_heap

inline constexpr

Definition at line 1711 of file ranges_algo.h.

## max

__max_fn std::ranges::max

inline constexpr

Definition at line 3010 of file ranges_algo.h.

## max_element

__max_element_fn std::ranges::max_element

inline constexpr

Definition at line 3221 of file ranges_algo.h.

## merge

__merge_fn std::ranges::merge

inline constexpr

Definition at line 2571 of file ranges_algo.h.

## min

__min_fn std::ranges::min

inline constexpr

Definition at line 2956 of file ranges_algo.h.

## min_element

__min_element_fn std::ranges::min_element

inline constexpr

Definition at line 3184 of file ranges_algo.h.

## minmax

__minmax_fn std::ranges::minmax

inline constexpr

Definition at line 3147 of file ranges_algo.h.

## minmax_element

__minmax_element_fn std::ranges::minmax_element

inline constexpr

Definition at line 3295 of file ranges_algo.h.

## next_permutation

__next_permutation_fn std::ranges::next_permutation

inline constexpr

Definition at line 3488 of file ranges_algo.h.

## none_of

__none_of_fn std::ranges::none_of

inline constexpr

Definition at line 153 of file ranges_algo.h.

## nth_element

__nth_element_fn std::ranges::nth_element

inline constexpr

Definition at line 2080 of file ranges_algo.h.

## partial_sort

__partial_sort_fn std::ranges::partial_sort

inline constexpr

Definition at line 1905 of file ranges_algo.h.

## partial_sort_copy

__partial_sort_copy_fn std::ranges::partial_sort_copy

inline constexpr

Definition at line 1980 of file ranges_algo.h.

## partition

__partition_fn std::ranges::partition

inline constexpr

Definition at line 2363 of file ranges_algo.h.

## partition_copy

__partition_copy_fn std::ranges::partition_copy

inline constexpr

Definition at line 2469 of file ranges_algo.h.

## partition_point

__partition_point_fn std::ranges::partition_point

inline constexpr

Definition at line 2510 of file ranges_algo.h.

## pop_heap

__pop_heap_fn std::ranges::pop_heap

inline constexpr

Definition at line 1683 of file ranges_algo.h.

## prev_permutation

__prev_permutation_fn std::ranges::prev_permutation

inline constexpr

Definition at line 3550 of file ranges_algo.h.

## push_heap

__push_heap_fn std::ranges::push_heap

inline constexpr

Definition at line 1655 of file ranges_algo.h.

## remove

__remove_fn std::ranges::remove

inline constexpr

Definition at line 1068 of file ranges_algo.h.

## remove_copy

__remove_copy_fn std::ranges::remove_copy

inline constexpr

Definition at line 1148 of file ranges_algo.h.

## remove_copy_if

__remove_copy_if_fn std::ranges::remove_copy_if

inline constexpr

Definition at line 1107 of file ranges_algo.h.

## remove_if

__remove_if_fn std::ranges::remove_if

inline constexpr

Definition at line 1035 of file ranges_algo.h.

## replace

__replace_fn std::ranges::replace

inline constexpr

Definition at line 841 of file ranges_algo.h.

## replace_copy

__replace_copy_fn std::ranges::replace_copy

inline constexpr

Definition at line 915 of file ranges_algo.h.

## replace_copy_if

__replace_copy_if_fn std::ranges::replace_copy_if

inline constexpr

Definition at line 955 of file ranges_algo.h.

## replace_if

__replace_if_fn std::ranges::replace_if

inline constexpr

Definition at line 872 of file ranges_algo.h.

## reverse

__reverse_fn std::ranges::reverse

inline constexpr

Definition at line 1325 of file ranges_algo.h.

## reverse_copy

__reverse_copy_fn std::ranges::reverse_copy

inline constexpr

Definition at line 1359 of file ranges_algo.h.

## rotate

__rotate_fn std::ranges::rotate

inline constexpr

Definition at line 1506 of file ranges_algo.h.

## rotate_copy

__rotate_copy_fn std::ranges::rotate_copy

inline constexpr

Definition at line 1539 of file ranges_algo.h.

## sample

__sample_fn std::ranges::sample

inline constexpr

Definition at line 1598 of file ranges_algo.h.

## search_n

__search_n_fn std::ranges::search_n

inline constexpr

Definition at line 430 of file ranges_algo.h.

## set_difference

__set_difference_fn std::ranges::set_difference

inline constexpr

Definition at line 2835 of file ranges_algo.h.

## set_intersection

__set_intersection_fn std::ranges::set_intersection

inline constexpr

Definition at line 2778 of file ranges_algo.h.

## set_symmetric_difference

__set_symmetric_difference_fn std::ranges::set_symmetric_difference

inline constexpr

Definition at line 2902 of file ranges_algo.h.

## set_union

__set_union_fn std::ranges::set_union

inline constexpr

Definition at line 2720 of file ranges_algo.h.

## shuffle

__shuffle_fn std::ranges::shuffle

inline constexpr

Definition at line 1626 of file ranges_algo.h.

## sort

__sort_fn std::ranges::sort

inline constexpr

Definition at line 1834 of file ranges_algo.h.

## sort_heap

__sort_heap_fn std::ranges::sort_heap

inline constexpr

Definition at line 1739 of file ranges_algo.h.

## stable_partition

__stable_partition_fn std::ranges::stable_partition

inline constexpr

Definition at line 2394 of file ranges_algo.h.

## stable_sort

__stable_sort_fn std::ranges::stable_sort

inline constexpr

Definition at line 1862 of file ranges_algo.h.

## swap_ranges

__swap_ranges_fn std::ranges::swap_ranges

inline constexpr

Definition at line 702 of file ranges_algo.h.

## transform

__transform_fn std::ranges::transform

inline constexpr

Definition at line 805 of file ranges_algo.h.

## unique

__unique_fn std::ranges::unique

inline constexpr

Definition at line 1186 of file ranges_algo.h.

## unique_copy

__unique_copy_fn std::ranges::unique_copy

inline constexpr

Definition at line 1276 of file ranges_algo.h.

## upper_bound

__upper_bound_fn std::ranges::upper_bound

inline constexpr

Definition at line 2168 of file ranges_algo.h.