stl_algobase.h File Reference

Go to the source code of this file.

## Namespaces

namespace | std

## Macros

#define | __cpp_lib_robust_nonmodifying_seq_ops
#define | _GLIBCXX_MOVE3(_Tp, _Up, _Vp)
#define | _GLIBCXX_MOVE_BACKWARD3(_Tp, _Up, _Vp)

## Functions

template<bool _IsMove, typename _II , typename _OI >
constexpr _OI | std::__copy_move_a (_II __first, _II __last, _OI __result)
template<bool _IsMove, typename _II , typename _Ite , typename _Seq , typename _Cat >
__gnu_debug::_Safe_iterator< _Ite, _Seq, _Cat > | std::__copy_move_a (_II, _II, const ::__gnu_debug::_Safe_iterator< _Ite, _Seq, _Cat > &)
template<bool _IsMove, typename _IIte , typename _ISeq , typename _ICat , typename _OIte , typename _OSeq , typename _OCat >
::__gnu_debug::_Safe_iterator< _OIte, _OSeq, _OCat > | std::__copy_move_a (const ::__gnu_debug::_Safe_iterator< _IIte, _ISeq, _ICat > &, const ::__gnu_debug::_Safe_iterator< _IIte, _ISeq, _ICat > &, const ::__gnu_debug::_Safe_iterator< _OIte, _OSeq, _OCat > &)
template<bool _IsMove, typename _Ite , typename _Seq , typename _Cat , typename _OI >
_OI | std::__copy_move_a (const ::__gnu_debug::_Safe_iterator< _Ite, _Seq, _Cat > &, const ::__gnu_debug::_Safe_iterator< _Ite, _Seq, _Cat > &, _OI)
template<bool _IsMove, typename _ITp , typename _IRef , typename _IPtr , typename _OTp >
::_Deque_iterator< _OTp, _OTp &, _OTp * > | std::__copy_move_a1 (::_Deque_iterator< _ITp, _IRef, _IPtr > __first, ::_Deque_iterator< _ITp, _IRef, _IPtr > __last, ::_Deque_iterator< _OTp, _OTp &, _OTp * > __result)
template<bool _IsMove, typename _Tp , typename _Ref , typename _Ptr , typename _OI >
_OI | std::__copy_move_a1 (::_Deque_iterator< _Tp, _Ref, _Ptr > __first, ::_Deque_iterator< _Tp, _Ref, _Ptr > __last, _OI __result)
template<bool _IsMove, typename _II , typename _Tp >
__gnu_cxx::__enable_if< __is_random_access_iter< _II >::__value,::_Deque_iterator< _Tp, _Tp &, _Tp * > >::__type | std::__copy_move_a1 (_II __first, _II __last, ::_Deque_iterator< _Tp, _Tp &, _Tp * > __result)
template<bool _IsMove, typename _II , typename _OI >
constexpr _OI | std::__copy_move_a1 (_II __first, _II __last, _OI __result)
template<bool _IsMove, typename _CharT >
__gnu_cxx::__enable_if< __is_char< _CharT >::__value, ostreambuf_iterator< _CharT, char_traits< _CharT > > >::__type | std::__copy_move_a2 (_CharT *, _CharT *, ostreambuf_iterator< _CharT, char_traits< _CharT > >)
template<bool _IsMove, typename _II , typename _OI >
constexpr _OI | std::__copy_move_a2 (_II __first, _II __last, _OI __result)
template<bool _IsMove, typename _CharT >
__gnu_cxx::__enable_if< __is_char< _CharT >::__value, ostreambuf_iterator< _CharT, char_traits< _CharT > > >::__type | std::__copy_move_a2 (const _CharT *, const _CharT *, ostreambuf_iterator< _CharT, char_traits< _CharT > >)
template<bool _IsMove, typename _CharT >
__gnu_cxx::__enable_if< __is_char< _CharT >::__value,::_Deque_iterator< _CharT, _CharT &, _CharT * > >::__type | std::__copy_move_a2 (istreambuf_iterator< _CharT, char_traits< _CharT > > __first, istreambuf_iterator< _CharT, char_traits< _CharT > > __last, ::_Deque_iterator< _CharT, _CharT &, _CharT * > __result)
template<bool _IsMove, typename _CharT >
__gnu_cxx::__enable_if< __is_char< _CharT >::__value, _CharT * >::__type | std::__copy_move_a2 (istreambuf_iterator< _CharT, char_traits< _CharT > >, istreambuf_iterator< _CharT, char_traits< _CharT > >, _CharT *)
template<bool _IsMove, typename _II , typename _OI >
constexpr _OI | std::__copy_move_backward_a (_II __first, _II __last, _OI __result)
template<bool _IsMove, typename _II , typename _Ite , typename _Seq , typename _Cat >
__gnu_debug::_Safe_iterator< _Ite, _Seq, _Cat > | std::__copy_move_backward_a (_II, _II, const ::__gnu_debug::_Safe_iterator< _Ite, _Seq, _Cat > &)
template<bool _IsMove, typename _IIte , typename _ISeq , typename _ICat , typename _OIte , typename _OSeq , typename _OCat >
::__gnu_debug::_Safe_iterator< _OIte, _OSeq, _OCat > | std::__copy_move_backward_a (const ::__gnu_debug::_Safe_iterator< _IIte, _ISeq, _ICat > &, const ::__gnu_debug::_Safe_iterator< _IIte, _ISeq, _ICat > &, const ::__gnu_debug::_Safe_iterator< _OIte, _OSeq, _OCat > &)
template<bool _IsMove, typename _Ite , typename _Seq , typename _Cat , typename _OI >
_OI | std::__copy_move_backward_a (const ::__gnu_debug::_Safe_iterator< _Ite, _Seq, _Cat > &, const ::__gnu_debug::_Safe_iterator< _Ite, _Seq, _Cat > &, _OI)
template<bool _IsMove, typename _ITp , typename _IRef , typename _IPtr , typename _OTp >
::_Deque_iterator< _OTp, _OTp &, _OTp * > | std::__copy_move_backward_a1 (::_Deque_iterator< _ITp, _IRef, _IPtr > __first, ::_Deque_iterator< _ITp, _IRef, _IPtr > __last, ::_Deque_iterator< _OTp, _OTp &, _OTp * > __result)
template<bool _IsMove, typename _Tp , typename _Ref , typename _Ptr , typename _OI >
_OI | std::__copy_move_backward_a1 (::_Deque_iterator< _Tp, _Ref, _Ptr > __first, ::_Deque_iterator< _Tp, _Ref, _Ptr > __last, _OI __result)
template<bool _IsMove, typename _BI1 , typename _BI2 >
constexpr _BI2 | std::__copy_move_backward_a1 (_BI1 __first, _BI1 __last, _BI2 __result)
template<bool _IsMove, typename _II , typename _Tp >
__gnu_cxx::__enable_if< __is_random_access_iter< _II >::__value,::_Deque_iterator< _Tp, _Tp &, _Tp * > >::__type | std::__copy_move_backward_a1 (_II __first, _II __last, ::_Deque_iterator< _Tp, _Tp &, _Tp * > __result)
template<bool _IsMove, typename _BI1 , typename _BI2 >
constexpr _BI2 | std::__copy_move_backward_a2 (_BI1 __first, _BI1 __last, _BI2 __result)
template<typename _InputIterator , typename _Size , typename _OutputIterator >
constexpr _OutputIterator | std::__copy_n_a (_InputIterator __first, _Size __n, _OutputIterator __result, bool)
template<typename _CharT , typename _Size >
__gnu_cxx::__enable_if< __is_char< _CharT >::__value,::_Deque_iterator< _CharT, _CharT &, _CharT * > >::__type | std::__copy_n_a (istreambuf_iterator< _CharT, char_traits< _CharT > > __it, _Size __size, ::_Deque_iterator< _CharT, _CharT &, _CharT * > __result, bool __strict)
template<typename _CharT , typename _Size >
__gnu_cxx::__enable_if< __is_char< _CharT >::__value, _CharT * >::__type | std::__copy_n_a (istreambuf_iterator< _CharT, char_traits< _CharT > >, _Size, _CharT *, bool)
template<typename _InputIterator , typename _Predicate >
constexpr iterator_traits< _InputIterator >::difference_type | std::__count_if (_InputIterator __first, _InputIterator __last, _Predicate __pred)
template<typename _II1 , typename _II2 >
constexpr bool | std::__equal4 (_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
template<typename _II1 , typename _II2 , typename _BinaryPredicate >
constexpr bool | std::__equal4 (_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2, _BinaryPredicate __binary_pred)
template<typename _II1 , typename _II2 >
constexpr bool | std::__equal_aux (_II1 __first1, _II1 __last1, _II2 __first2)
template<typename _II1 , typename _II2 , typename _Seq2 , typename _Cat2 >
bool | std::__equal_aux (_II1, _II1, const ::__gnu_debug::_Safe_iterator< _II2, _Seq2, _Cat2 > &)
template<typename _II1 , typename _Seq1 , typename _Cat1 , typename _II2 >
bool | std::__equal_aux (const ::__gnu_debug::_Safe_iterator< _II1, _Seq1, _Cat1 > &, const ::__gnu_debug::_Safe_iterator< _II1, _Seq1, _Cat1 > &, _II2)
template<typename _II1 , typename _Seq1 , typename _Cat1 , typename _II2 , typename _Seq2 , typename _Cat2 >
bool | std::__equal_aux (const ::__gnu_debug::_Safe_iterator< _II1, _Seq1, _Cat1 > &, const ::__gnu_debug::_Safe_iterator< _II1, _Seq1, _Cat1 > &, const ::__gnu_debug::_Safe_iterator< _II2, _Seq2, _Cat2 > &)
template<typename _Tp , typename _Ref , typename _Ptr , typename _II >
__gnu_cxx::__enable_if< __is_random_access_iter< _II >::__value, bool >::__type | std::__equal_aux1 (::_Deque_iterator< _Tp, _Ref, _Ptr > __first1, ::_Deque_iterator< _Tp, _Ref, _Ptr > __last1, _II __first2)
template<typename _Tp1 , typename _Ref1 , typename _Ptr1 , typename _Tp2 , typename _Ref2 , typename _Ptr2 >
bool | std::__equal_aux1 (::_Deque_iterator< _Tp1, _Ref1, _Ptr1 > __first1, ::_Deque_iterator< _Tp1, _Ref1, _Ptr1 > __last1, ::_Deque_iterator< _Tp2, _Ref2, _Ptr2 > __first2)
template<typename _II , typename _Tp , typename _Ref , typename _Ptr >
__gnu_cxx::__enable_if< __is_random_access_iter< _II >::__value, bool >::__type | std::__equal_aux1 (_II __first1, _II __last1, ::_Deque_iterator< _Tp, _Ref, _Ptr > __first2)
template<typename _II1 , typename _II2 >
constexpr bool | std::__equal_aux1 (_II1 __first1, _II1 __last1, _II2 __first2)
template<typename _FIte , typename _Tp >
constexpr void | std::__fill_a (_FIte __first, _FIte __last, const _Tp &__value)
template<typename _Ite , typename _Seq , typename _Cat , typename _Tp >
void | std::__fill_a (const ::__gnu_debug::_Safe_iterator< _Ite, _Seq, _Cat > &, const ::__gnu_debug::_Safe_iterator< _Ite, _Seq, _Cat > &, const _Tp &)
template<typename _Ite , typename _Cont , typename _Tp >
constexpr void | std::__fill_a1 (::__gnu_cxx::__normal_iterator< _Ite, _Cont > __first, ::__gnu_cxx::__normal_iterator< _Ite, _Cont > __last, const _Tp &__value)
constexpr void | std::__fill_a1 (::_Bit_iterator, ::_Bit_iterator, const bool &)
template<typename _ForwardIterator , typename _Tp >
constexpr __gnu_cxx::__enable_if<!__is_scalar< _Tp >::__value, void >::__type | std::__fill_a1 (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__value)
template<typename _ForwardIterator , typename _Tp >
constexpr __gnu_cxx::__enable_if< __is_scalar< _Tp >::__value, void >::__type | std::__fill_a1 (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__value)
template<typename _Tp >
constexpr __gnu_cxx::__enable_if< __is_byte< _Tp >::__value, void >::__type | std::__fill_a1 (_Tp *__first, _Tp *__last, const _Tp &__c)
template<typename _Tp , typename _VTp >
void | std::__fill_a1 (const ::_Deque_iterator< _Tp, _Tp &, _Tp * > &__first, const ::_Deque_iterator< _Tp, _Tp &, _Tp * > &__last, const _VTp &__value)
template<typename _OutputIterator , typename _Size , typename _Tp >
constexpr _OutputIterator | std::__fill_n_a (_OutputIterator __first, _Size __n, const _Tp &__value, std::input_iterator_tag)
template<typename _OutputIterator , typename _Size , typename _Tp >
constexpr _OutputIterator | std::__fill_n_a (_OutputIterator __first, _Size __n, const _Tp &__value, std::output_iterator_tag)
template<typename _OutputIterator , typename _Size , typename _Tp >
constexpr _OutputIterator | std::__fill_n_a (_OutputIterator __first, _Size __n, const _Tp &__value, std::random_access_iterator_tag)
template<typename _Ite , typename _Seq , typename _Cat , typename _Size , typename _Tp >
::__gnu_debug::_Safe_iterator< _Ite, _Seq, _Cat > | std::__fill_n_a (const ::__gnu_debug::_Safe_iterator< _Ite, _Seq, _Cat > &__first, _Size __n, const _Tp &__value, std::input_iterator_tag)
template<typename _OutputIterator , typename _Size , typename _Tp >
constexpr __gnu_cxx::__enable_if<!__is_scalar< _Tp >::__value, _OutputIterator >::__type | std::__fill_n_a1 (_OutputIterator __first, _Size __n, const _Tp &__value)
template<typename _OutputIterator , typename _Size , typename _Tp >
constexpr __gnu_cxx::__enable_if< __is_scalar< _Tp >::__value, _OutputIterator >::__type | std::__fill_n_a1 (_OutputIterator __first, _Size __n, const _Tp &__value)
template<typename _InputIterator , typename _Predicate >
constexpr _InputIterator | std::__find_if (_InputIterator __first, _InputIterator __last, _Predicate __pred, input_iterator_tag)
template<typename _Iterator , typename _Predicate >
constexpr _Iterator | std::__find_if (_Iterator __first, _Iterator __last, _Predicate __pred)
template<typename _RandomAccessIterator , typename _Predicate >
constexpr _RandomAccessIterator | std::__find_if (_RandomAccessIterator __first, _RandomAccessIterator __last, _Predicate __pred, random_access_iterator_tag)
template<typename _ForwardIterator1 , typename _ForwardIterator2 , typename _BinaryPredicate >
constexpr bool | std::__is_permutation (_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _BinaryPredicate __pred)
template<typename _II1 , typename _II2 >
constexpr bool | std::__lexicographical_compare_aux (_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
template<typename _II1 , typename _Iter2 , typename _Seq2 , typename _Cat2 >
bool | std::__lexicographical_compare_aux (_II1, _II1, const ::__gnu_debug::_Safe_iterator< _Iter2, _Seq2, _Cat2 > &, const ::__gnu_debug::_Safe_iterator< _Iter2, _Seq2, _Cat2 > &)
template<typename _Iter1 , typename _Seq1 , typename _Cat1 , typename _II2 >
bool | std::__lexicographical_compare_aux (const ::__gnu_debug::_Safe_iterator< _Iter1, _Seq1, _Cat1 > &, const ::__gnu_debug::_Safe_iterator< _Iter1, _Seq1, _Cat1 > &, _II2, _II2)
template<typename _Iter1 , typename _Seq1 , typename _Cat1 , typename _Iter2 , typename _Seq2 , typename _Cat2 >
bool | std::__lexicographical_compare_aux (const ::__gnu_debug::_Safe_iterator< _Iter1, _Seq1, _Cat1 > &, const ::__gnu_debug::_Safe_iterator< _Iter1, _Seq1, _Cat1 > &, const ::__gnu_debug::_Safe_iterator< _Iter2, _Seq2, _Cat2 > &, const ::__gnu_debug::_Safe_iterator< _Iter2, _Seq2, _Cat2 > &)
template<typename _Tp1 , typename _Ref1 , typename _Ptr1 , typename _Tp2 , typename _Ref2 , typename _Ptr2 >
bool | std::__lexicographical_compare_aux1 (::_Deque_iterator< _Tp1, _Ref1, _Ptr1 > __first1, ::_Deque_iterator< _Tp1, _Ref1, _Ptr1 > __last1, ::_Deque_iterator< _Tp2, _Ref2, _Ptr2 > __first2, ::_Deque_iterator< _Tp2, _Ref2, _Ptr2 > __last2)
template<typename _Tp1 , typename _Ref1 , typename _Ptr1 , typename _Tp2 >
bool | std::__lexicographical_compare_aux1 (::_Deque_iterator< _Tp1, _Ref1, _Ptr1 > __first1, ::_Deque_iterator< _Tp1, _Ref1, _Ptr1 > __last1, _Tp2 *__first2, _Tp2 *__last2)
template<typename _II1 , typename _II2 >
constexpr bool | std::__lexicographical_compare_aux1 (_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
template<typename _Tp1 , typename _Tp2 , typename _Ref2 , typename _Ptr2 >
bool | std::__lexicographical_compare_aux1 (_Tp1 *__first1, _Tp1 *__last1, ::_Deque_iterator< _Tp2, _Ref2, _Ptr2 > __first2, ::_Deque_iterator< _Tp2, _Ref2, _Ptr2 > __last2)
template<typename _II1 , typename _II2 , typename _Compare >
constexpr bool | std::__lexicographical_compare_impl (_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2, _Compare __comp)
constexpr int | std::__lg (int __n)
constexpr long | std::__lg (long __n)
constexpr long long | std::__lg (long long __n)
constexpr unsigned | std::__lg (unsigned __n)
constexpr unsigned long | std::__lg (unsigned long __n)
constexpr unsigned long long | std::__lg (unsigned long long __n)
template<typename _ForwardIterator , typename _Tp , typename _Compare >
constexpr _ForwardIterator | std::__lower_bound (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__val, _Compare __comp)
template<typename _Tp , typename _Up >
constexpr int | std::__memcmp (const _Tp *__first1, const _Up *__first2, size_t __num)
template<typename _InputIterator1 , typename _InputIterator2 , typename _BinaryPredicate >
constexpr pair< _InputIterator1, _InputIterator2 > | std::__mismatch (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _BinaryPredicate __binary_pred)
template<typename _InputIterator1 , typename _InputIterator2 , typename _BinaryPredicate >
constexpr pair< _InputIterator1, _InputIterator2 > | std::__mismatch (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _BinaryPredicate __binary_pred)
template<typename _Iterator >
constexpr _Iterator | std::__niter_base (_Iterator __it) noexcept(/*conditional */)
template<typename _Ite , typename _Seq >
_Ite | std::__niter_base (const ::__gnu_debug::_Safe_iterator< _Ite, _Seq, std::random_access_iterator_tag > &)
template<typename _From , typename _To >
constexpr _From | std::__niter_wrap (_From __from, _To __res)
template<typename _Iterator >
constexpr _Iterator | std::__niter_wrap (const _Iterator &, _Iterator __res)
template<typename _ForwardIterator , typename _Predicate >
constexpr _ForwardIterator | std::__remove_if (_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred)
constexpr long long | std::__size_to_integer (double __n)
constexpr long long | std::__size_to_integer (float __n)
constexpr int | std::__size_to_integer (int __n)
constexpr long | std::__size_to_integer (long __n)
constexpr long long | std::__size_to_integer (long double __n)
constexpr long long | std::__size_to_integer (long long __n)
constexpr unsigned | std::__size_to_integer (unsigned __n)
constexpr unsigned long | std::__size_to_integer (unsigned long __n)
constexpr unsigned long long | std::__size_to_integer (unsigned long long __n)
template<typename _II , typename _OI >
constexpr _OI | std::copy (_II __first, _II __last, _OI __result)
template<typename _BI1 , typename _BI2 >
constexpr _BI2 | std::copy_backward (_BI1 __first, _BI1 __last, _BI2 __result)
template<typename _II1 , typename _II2 >
constexpr bool | std::equal (_II1 __first1, _II1 __last1, _II2 __first2)
template<typename _II1 , typename _II2 >
constexpr bool | std::equal (_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
template<typename _IIter1 , typename _IIter2 , typename _BinaryPredicate >
constexpr bool | std::equal (_IIter1 __first1, _IIter1 __last1, _IIter2 __first2, _BinaryPredicate __binary_pred)
template<typename _IIter1 , typename _IIter2 , typename _BinaryPredicate >
constexpr bool | std::equal (_IIter1 __first1, _IIter1 __last1, _IIter2 __first2, _IIter2 __last2, _BinaryPredicate __binary_pred)
template<typename _ForwardIterator , typename _Tp >
constexpr void | std::fill (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__value)
template<typename _OI , typename _Size , typename _Tp >
constexpr _OI | std::fill_n (_OI __first, _Size __n, const _Tp &__value)
template<typename _ForwardIterator1 , typename _ForwardIterator2 >
constexpr bool | std::is_permutation (_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2)
template<typename _ForwardIterator1 , typename _ForwardIterator2 >
constexpr void | std::iter_swap (_ForwardIterator1 __a, _ForwardIterator2 __b)
template<typename _II1 , typename _II2 >
constexpr bool | std::lexicographical_compare (_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
template<typename _II1 , typename _II2 , typename _Compare >
constexpr bool | std::lexicographical_compare (_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2, _Compare __comp)
template<typename _ForwardIterator , typename _Tp >
constexpr _ForwardIterator | std::lower_bound (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__val)
template<typename _Tp >
constexpr const _Tp & | std::max (const _Tp &__a, const _Tp &__b)
template<typename _Tp , typename _Compare >
constexpr const _Tp & | std::max (const _Tp &__a, const _Tp &__b, _Compare __comp)
template<typename _Tp >
constexpr const _Tp & | std::min (const _Tp &__a, const _Tp &__b)
template<typename _Tp , typename _Compare >
constexpr const _Tp & | std::min (const _Tp &__a, const _Tp &__b, _Compare __comp)
template<typename _InputIterator1 , typename _InputIterator2 >
constexpr pair< _InputIterator1, _InputIterator2 > | std::mismatch (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2)
template<typename _InputIterator1 , typename _InputIterator2 , typename _BinaryPredicate >
constexpr pair< _InputIterator1, _InputIterator2 > | std::mismatch (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _BinaryPredicate __binary_pred)
template<typename _InputIterator1 , typename _InputIterator2 >
constexpr pair< _InputIterator1, _InputIterator2 > | std::mismatch (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2)
template<typename _InputIterator1 , typename _InputIterator2 , typename _BinaryPredicate >
constexpr pair< _InputIterator1, _InputIterator2 > | std::mismatch (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _BinaryPredicate __binary_pred)
template<typename _II , typename _OI >
constexpr _OI | std::move (_II __first, _II __last, _OI __result)
template<typename _BI1 , typename _BI2 >
constexpr _BI2 | std::move_backward (_BI1 __first, _BI1 __last, _BI2 __result)
template<typename _ForwardIterator1 , typename _ForwardIterator2 >
constexpr _ForwardIterator2 | std::swap_ranges (_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2)

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

## Macro Definition Documentation

## __cpp_lib_robust_nonmodifying_seq_ops

#define __cpp_lib_robust_nonmodifying_seq_ops

Definition at line 1650 of file stl_algobase.h.

## _GLIBCXX_MOVE3

#define _GLIBCXX_MOVE3 | ( |  | _Tp,
|  |  | _Up,
|  |  | _Vp
| ) |  |

Definition at line 662 of file stl_algobase.h.

## _GLIBCXX_MOVE_BACKWARD3

#define _GLIBCXX_MOVE_BACKWARD3 | ( |  | _Tp,
|  |  | _Up,
|  |  | _Vp
| ) |  |

Definition at line 899 of file stl_algobase.h.