ranges_algobase.h File Reference

Go to the source code of this file.

## Namespaces

namespace | std

## Typedefs

template<typename _Iter1 , typename _Iter2 >
using | std::ranges::copy_backward_result = in_out_result< _Iter1, _Iter2 >
template<typename _Iter , typename _Out >
using | std::ranges::copy_n_result = in_out_result< _Iter, _Out >
template<typename _Iter , typename _Out >
using | std::ranges::copy_result = in_out_result< _Iter, _Out >
template<typename _Iter1 , typename _Iter2 >
using | std::ranges::move_backward_result = in_out_result< _Iter1, _Iter2 >
template<typename _Iter , typename _Out >
using | std::ranges::move_result = in_out_result< _Iter, _Out >

## Functions

template<bool _IsMove, input_iterator _Iter, sentinel_for< _Iter > _Sent, weakly_incrementable _Out> requires (_IsMove ? indirectly_movable<_Iter, _Out> : indirectly_copyable<_Iter, _Out>)
constexpr __conditional_t< _IsMove, move_result< _Iter, _Out >, copy_result< _Iter, _Out > > | std::ranges::__copy_or_move (_Iter __first, _Sent __last, _Out __result)
template<bool _IsMove, bidirectional_iterator _Iter, sentinel_for< _Iter > _Sent, bidirectional_iterator _Out> requires (_IsMove ? indirectly_movable<_Iter, _Out> : indirectly_copyable<_Iter, _Out>)
constexpr __conditional_t< _IsMove, move_backward_result< _Iter, _Out >, copy_backward_result< _Iter, _Out > > | std::ranges::__copy_or_move_backward (_Iter __first, _Sent __last, _Out __result)

## Variables

template<typename _Tp >
constexpr bool | std::ranges::__detail::__is_move_iterator
template<typename _Iterator >
constexpr bool | std::ranges::__detail::__is_move_iterator< move_iterator< _Iterator > >
template<typename _Tp >
constexpr bool | std::ranges::__detail::__is_normal_iterator
template<typename _Tp >
constexpr bool | std::ranges::__detail::__is_reverse_iterator
template<typename _Iterator >
constexpr bool | std::ranges::__detail::__is_reverse_iterator< reverse_iterator< _Iterator > >
constexpr __copy_fn | std::ranges::copy
constexpr __copy_backward_fn | std::ranges::copy_backward
constexpr __copy_n_fn | std::ranges::copy_n
constexpr __equal_fn | std::ranges::equal
constexpr __fill_fn | std::ranges::fill
constexpr __fill_n_fn | std::ranges::fill_n
constexpr __move_fn | std::ranges::move
constexpr __move_backward_fn | std::ranges::move_backward

## 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_algobase.h.

## Typedef Documentation

## copy_backward_result

template<typename _Iter1 , typename _Iter2 >

using std::ranges::copy_backward_result = typedef in_out_result<_Iter1, _Iter2>

Definition at line 192 of file ranges_algobase.h.

## copy_n_result

template<typename _Iter , typename _Out >

using std::ranges::copy_n_result = typedef in_out_result<_Iter, _Out>

Definition at line 488 of file ranges_algobase.h.

## copy_result

template<typename _Iter , typename _Out >

using std::ranges::copy_result = typedef in_out_result<_Iter, _Out>

Definition at line 183 of file ranges_algobase.h.

## move_backward_result

template<typename _Iter1 , typename _Iter2 >

using std::ranges::move_backward_result = typedef in_out_result<_Iter1, _Iter2>

Definition at line 189 of file ranges_algobase.h.

## move_result

template<typename _Iter , typename _Out >

using std::ranges::move_result = typedef in_out_result<_Iter, _Out>

Definition at line 186 of file ranges_algobase.h.

## Function Documentation

## __copy_or_move()

template<bool _IsMove, input_iterator _Iter, sentinel_for< _Iter > _Sent, weakly_incrementable _Out>
requires (_IsMove ? indirectly_movable<_Iter, _Out> : indirectly_copyable<_Iter, _Out>)

constexpr __conditional_t< _IsMove, move_result< _Iter, _Out >, copy_result< _Iter, _Out > > std::ranges::__copy_or_move | ( | _Iter | __first,
|  | _Sent | __last,
|  | _Out | __result
| ) |  |

constexpr

Definition at line 214 of file ranges_algobase.h.

## __copy_or_move_backward()

template<bool _IsMove, bidirectional_iterator _Iter, sentinel_for< _Iter > _Sent, bidirectional_iterator _Out>
requires (_IsMove ? indirectly_movable<_Iter, _Out> : indirectly_copyable<_Iter, _Out>)

constexpr __conditional_t< _IsMove, move_backward_result< _Iter, _Out >, copy_backward_result< _Iter, _Out > > std::ranges::__copy_or_move_backward | ( | _Iter | __first,
|  | _Sent | __last,
|  | _Out | __result
| ) |  |

constexpr

Definition at line 355 of file ranges_algobase.h.

## Variable Documentation

## __is_move_iterator

template<typename _Tp >

constexpr bool std::ranges::__detail::__is_move_iterator

inline constexpr

Definition at line 67 of file ranges_algobase.h.

## __is_move_iterator< move_iterator< _Iterator > >

template<typename _Iterator >

constexpr bool std::ranges::__detail::__is_move_iterator< move_iterator< _Iterator > >

inline constexpr

Definition at line 70 of file ranges_algobase.h.

## __is_normal_iterator

template<typename _Tp >

constexpr bool std::ranges::__detail::__is_normal_iterator

inline constexpr

Definition at line 52 of file ranges_algobase.h.

## __is_reverse_iterator

template<typename _Tp >

constexpr bool std::ranges::__detail::__is_reverse_iterator

inline constexpr

Definition at line 60 of file ranges_algobase.h.

## __is_reverse_iterator< reverse_iterator< _Iterator > >

template<typename _Iterator >

constexpr bool std::ranges::__detail::__is_reverse_iterator< reverse_iterator< _Iterator > >

inline constexpr

Definition at line 63 of file ranges_algobase.h.

## copy

constexpr __copy_fn std::ranges::copy

inline constexpr

Definition at line 319 of file ranges_algobase.h.

## copy_backward

constexpr __copy_backward_fn std::ranges::copy_backward

inline constexpr

Definition at line 460 of file ranges_algobase.h.

## copy_n

constexpr __copy_n_fn std::ranges::copy_n

inline constexpr

Definition at line 512 of file ranges_algobase.h.

## equal

constexpr __equal_fn std::ranges::equal

inline constexpr

Definition at line 159 of file ranges_algobase.h.

## fill

constexpr __fill_fn std::ranges::fill

inline constexpr

Definition at line 596 of file ranges_algobase.h.

## fill_n

constexpr __fill_n_fn std::ranges::fill_n

inline constexpr

Definition at line 557 of file ranges_algobase.h.

## move

constexpr __move_fn std::ranges::move

inline constexpr

Definition at line 344 of file ranges_algobase.h.

## move_backward

constexpr __move_backward_fn std::ranges::move_backward

inline constexpr

Definition at line 485 of file ranges_algobase.h.