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

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

Definition at line 70 of file ranges_algobase.h.

◆ __is_normal_iterator

template<typename _Tp >
constexpr bool std::ranges::__detail::__is_normal_iterator
inlineconstexpr

Definition at line 52 of file ranges_algobase.h.

◆ __is_reverse_iterator

template<typename _Tp >
constexpr bool std::ranges::__detail::__is_reverse_iterator
inlineconstexpr

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

Definition at line 63 of file ranges_algobase.h.

◆ copy

constexpr __copy_fn std::ranges::copy
inlineconstexpr

Definition at line 319 of file ranges_algobase.h.

◆ copy_backward

constexpr __copy_backward_fn std::ranges::copy_backward
inlineconstexpr

Definition at line 460 of file ranges_algobase.h.

◆ copy_n

constexpr __copy_n_fn std::ranges::copy_n
inlineconstexpr

Definition at line 512 of file ranges_algobase.h.

◆ equal

constexpr __equal_fn std::ranges::equal
inlineconstexpr

Definition at line 159 of file ranges_algobase.h.

◆ fill

constexpr __fill_fn std::ranges::fill
inlineconstexpr

Definition at line 596 of file ranges_algobase.h.

◆ fill_n

constexpr __fill_n_fn std::ranges::fill_n
inlineconstexpr

Definition at line 557 of file ranges_algobase.h.

◆ move

constexpr __move_fn std::ranges::move
inlineconstexpr

Definition at line 344 of file ranges_algobase.h.

◆ move_backward

constexpr __move_backward_fn std::ranges::move_backward
inlineconstexpr

Definition at line 485 of file ranges_algobase.h.