libstdc++
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
inlineconstexpr

Definition at line 545 of file ranges_algo.h.

◆ all_of

__all_of_fn std::ranges::all_of
inlineconstexpr

Definition at line 97 of file ranges_algo.h.

◆ any_of

__any_of_fn std::ranges::any_of
inlineconstexpr

Definition at line 125 of file ranges_algo.h.

◆ binary_search

__binary_search_fn std::ranges::binary_search
inlineconstexpr

Definition at line 2261 of file ranges_algo.h.

◆ clamp

__clamp_fn std::ranges::clamp
inlineconstexpr

Definition at line 3034 of file ranges_algo.h.

◆ copy_if

__copy_if_fn std::ranges::copy_if
inlineconstexpr

Definition at line 671 of file ranges_algo.h.

◆ count

__count_fn std::ranges::count
inlineconstexpr

Definition at line 308 of file ranges_algo.h.

◆ count_if

__count_if_fn std::ranges::count_if
inlineconstexpr

Definition at line 338 of file ranges_algo.h.

◆ equal_range

__equal_range_fn std::ranges::equal_range
inlineconstexpr

Definition at line 2228 of file ranges_algo.h.

◆ find_end

__find_end_fn std::ranges::find_end
inlineconstexpr

Definition at line 507 of file ranges_algo.h.

◆ find_first_of

__find_first_of_fn std::ranges::find_first_of
inlineconstexpr

Definition at line 276 of file ranges_algo.h.

◆ for_each

__for_each_fn std::ranges::for_each
inlineconstexpr

Definition at line 202 of file ranges_algo.h.

◆ for_each_n

__for_each_n_fn std::ranges::for_each_n
inlineconstexpr

Definition at line 235 of file ranges_algo.h.

◆ generate

__generate_fn std::ranges::generate
inlineconstexpr

Definition at line 996 of file ranges_algo.h.

◆ generate_n

__generate_n_fn std::ranges::generate_n
inlineconstexpr

Definition at line 971 of file ranges_algo.h.

◆ includes

__includes_fn std::ranges::includes
inlineconstexpr

Definition at line 2652 of file ranges_algo.h.

◆ inplace_merge

__inplace_merge_fn std::ranges::inplace_merge
inlineconstexpr

Definition at line 2602 of file ranges_algo.h.

◆ is_heap

__is_heap_fn std::ranges::is_heap
inlineconstexpr

Definition at line 1806 of file ranges_algo.h.

◆ is_heap_until

__is_heap_until_fn std::ranges::is_heap_until
inlineconstexpr

Definition at line 1776 of file ranges_algo.h.

◆ is_partitioned

__is_partitioned_fn std::ranges::is_partitioned
inlineconstexpr

Definition at line 2292 of file ranges_algo.h.

◆ is_permutation

__is_permutation_fn std::ranges::is_permutation
inlineconstexpr

Definition at line 632 of file ranges_algo.h.

◆ is_sorted

__is_sorted_fn std::ranges::is_sorted
inlineconstexpr

Definition at line 2050 of file ranges_algo.h.

◆ is_sorted_until

__is_sorted_until_fn std::ranges::is_sorted_until
inlineconstexpr

Definition at line 2015 of file ranges_algo.h.

◆ lexicographical_compare

__lexicographical_compare_fn std::ranges::lexicographical_compare
inlineconstexpr

Definition at line 3407 of file ranges_algo.h.

◆ lower_bound

__lower_bound_fn std::ranges::lower_bound
inlineconstexpr

Definition at line 2124 of file ranges_algo.h.

◆ make_heap

__make_heap_fn std::ranges::make_heap
inlineconstexpr

Definition at line 1711 of file ranges_algo.h.

◆ max

__max_fn std::ranges::max
inlineconstexpr

Definition at line 3010 of file ranges_algo.h.

◆ max_element

__max_element_fn std::ranges::max_element
inlineconstexpr

Definition at line 3221 of file ranges_algo.h.

◆ merge

__merge_fn std::ranges::merge
inlineconstexpr

Definition at line 2571 of file ranges_algo.h.

◆ min

__min_fn std::ranges::min
inlineconstexpr

Definition at line 2956 of file ranges_algo.h.

◆ min_element

__min_element_fn std::ranges::min_element
inlineconstexpr

Definition at line 3184 of file ranges_algo.h.

◆ minmax

__minmax_fn std::ranges::minmax
inlineconstexpr

Definition at line 3147 of file ranges_algo.h.

◆ minmax_element

__minmax_element_fn std::ranges::minmax_element
inlineconstexpr

Definition at line 3295 of file ranges_algo.h.

◆ next_permutation

__next_permutation_fn std::ranges::next_permutation
inlineconstexpr

Definition at line 3488 of file ranges_algo.h.

◆ none_of

__none_of_fn std::ranges::none_of
inlineconstexpr

Definition at line 153 of file ranges_algo.h.

◆ nth_element

__nth_element_fn std::ranges::nth_element
inlineconstexpr

Definition at line 2080 of file ranges_algo.h.

◆ partial_sort

__partial_sort_fn std::ranges::partial_sort
inlineconstexpr

Definition at line 1905 of file ranges_algo.h.

◆ partial_sort_copy

__partial_sort_copy_fn std::ranges::partial_sort_copy
inlineconstexpr

Definition at line 1980 of file ranges_algo.h.

◆ partition

__partition_fn std::ranges::partition
inlineconstexpr

Definition at line 2363 of file ranges_algo.h.

◆ partition_copy

__partition_copy_fn std::ranges::partition_copy
inlineconstexpr

Definition at line 2469 of file ranges_algo.h.

◆ partition_point

__partition_point_fn std::ranges::partition_point
inlineconstexpr

Definition at line 2510 of file ranges_algo.h.

◆ pop_heap

__pop_heap_fn std::ranges::pop_heap
inlineconstexpr

Definition at line 1683 of file ranges_algo.h.

◆ prev_permutation

__prev_permutation_fn std::ranges::prev_permutation
inlineconstexpr

Definition at line 3550 of file ranges_algo.h.

◆ push_heap

__push_heap_fn std::ranges::push_heap
inlineconstexpr

Definition at line 1655 of file ranges_algo.h.

◆ remove

__remove_fn std::ranges::remove
inlineconstexpr

Definition at line 1068 of file ranges_algo.h.

◆ remove_copy

__remove_copy_fn std::ranges::remove_copy
inlineconstexpr

Definition at line 1148 of file ranges_algo.h.

◆ remove_copy_if

__remove_copy_if_fn std::ranges::remove_copy_if
inlineconstexpr

Definition at line 1107 of file ranges_algo.h.

◆ remove_if

__remove_if_fn std::ranges::remove_if
inlineconstexpr

Definition at line 1035 of file ranges_algo.h.

◆ replace

__replace_fn std::ranges::replace
inlineconstexpr

Definition at line 841 of file ranges_algo.h.

◆ replace_copy

__replace_copy_fn std::ranges::replace_copy
inlineconstexpr

Definition at line 915 of file ranges_algo.h.

◆ replace_copy_if

__replace_copy_if_fn std::ranges::replace_copy_if
inlineconstexpr

Definition at line 955 of file ranges_algo.h.

◆ replace_if

__replace_if_fn std::ranges::replace_if
inlineconstexpr

Definition at line 872 of file ranges_algo.h.

◆ reverse

__reverse_fn std::ranges::reverse
inlineconstexpr

Definition at line 1325 of file ranges_algo.h.

◆ reverse_copy

__reverse_copy_fn std::ranges::reverse_copy
inlineconstexpr

Definition at line 1359 of file ranges_algo.h.

◆ rotate

__rotate_fn std::ranges::rotate
inlineconstexpr

Definition at line 1506 of file ranges_algo.h.

◆ rotate_copy

__rotate_copy_fn std::ranges::rotate_copy
inlineconstexpr

Definition at line 1539 of file ranges_algo.h.

◆ sample

__sample_fn std::ranges::sample
inlineconstexpr

Definition at line 1598 of file ranges_algo.h.

◆ search_n

__search_n_fn std::ranges::search_n
inlineconstexpr

Definition at line 430 of file ranges_algo.h.

◆ set_difference

__set_difference_fn std::ranges::set_difference
inlineconstexpr

Definition at line 2835 of file ranges_algo.h.

◆ set_intersection

__set_intersection_fn std::ranges::set_intersection
inlineconstexpr

Definition at line 2778 of file ranges_algo.h.

◆ set_symmetric_difference

__set_symmetric_difference_fn std::ranges::set_symmetric_difference
inlineconstexpr

Definition at line 2902 of file ranges_algo.h.

◆ set_union

__set_union_fn std::ranges::set_union
inlineconstexpr

Definition at line 2720 of file ranges_algo.h.

◆ shuffle

__shuffle_fn std::ranges::shuffle
inlineconstexpr

Definition at line 1626 of file ranges_algo.h.

◆ sort

__sort_fn std::ranges::sort
inlineconstexpr

Definition at line 1834 of file ranges_algo.h.

◆ sort_heap

__sort_heap_fn std::ranges::sort_heap
inlineconstexpr

Definition at line 1739 of file ranges_algo.h.

◆ stable_partition

__stable_partition_fn std::ranges::stable_partition
inlineconstexpr

Definition at line 2394 of file ranges_algo.h.

◆ stable_sort

__stable_sort_fn std::ranges::stable_sort
inlineconstexpr

Definition at line 1862 of file ranges_algo.h.

◆ swap_ranges

__swap_ranges_fn std::ranges::swap_ranges
inlineconstexpr

Definition at line 702 of file ranges_algo.h.

◆ transform

__transform_fn std::ranges::transform
inlineconstexpr

Definition at line 805 of file ranges_algo.h.

◆ unique

__unique_fn std::ranges::unique
inlineconstexpr

Definition at line 1186 of file ranges_algo.h.

◆ unique_copy

__unique_copy_fn std::ranges::unique_copy
inlineconstexpr

Definition at line 1276 of file ranges_algo.h.

◆ upper_bound

__upper_bound_fn std::ranges::upper_bound
inlineconstexpr

Definition at line 2168 of file ranges_algo.h.