• Home
  • Raw
  • Download

Lines Matching refs:__last

809 all_of(_InputIterator __first, _InputIterator __last, _Predicate __pred)
811 for (; __first != __last; ++__first)
822 any_of(_InputIterator __first, _InputIterator __last, _Predicate __pred)
824 for (; __first != __last; ++__first)
835 none_of(_InputIterator __first, _InputIterator __last, _Predicate __pred)
837 for (; __first != __last; ++__first)
848 for_each(_InputIterator __first, _InputIterator __last, _Function __f)
850 for (; __first != __last; ++__first)
860 find(_InputIterator __first, _InputIterator __last, const _Tp& __value_)
862 for (; __first != __last; ++__first)
873 find_if(_InputIterator __first, _InputIterator __last, _Predicate __pred)
875 for (; __first != __last; ++__first)
886 find_if_not(_InputIterator __first, _InputIterator __last, _Predicate __pred)
888 for (; __first != __last; ++__first)
1071 adjacent_find(_ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __pred)
1073 if (__first != __last)
1076 while (++__i != __last)
1083 return __last;
1089 adjacent_find(_ForwardIterator __first, _ForwardIterator __last)
1092 return _VSTD::adjacent_find(__first, __last, __equal_to<__v>());
1100 count(_InputIterator __first, _InputIterator __last, const _Tp& __value_)
1103 for (; __first != __last; ++__first)
1114 count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred)
1117 for (; __first != __last; ++__first)
1581 __search_n(_ForwardIterator __first, _ForwardIterator __last,
1591 if (__first == __last) // return __last if no element matches __value_
1592 return __last;
1604 if (++__m == __last) // Otherwise if source exhaused, pattern not found
1605 return __last;
1618 __search_n(_RandomAccessIterator __first, _RandomAccessIterator __last,
1623 _Size __len = static_cast<_Size>(__last - __first);
1625 return __last;
1626 …const _RandomAccessIterator __s = __last - (__count - 1); // Start of pattern match can't go beyo…
1632 if (__first >= __s) // return __last if no element matches __value_
1633 return __last;
1659 search_n(_ForwardIterator __first, _ForwardIterator __last,
1663 …(__first, __last, __count, __value_, __pred, typename iterator_traits<_ForwardIterator>::iterator_…
1669 search_n(_ForwardIterator __first, _ForwardIterator __last, _Size __count, const _Tp& __value_)
1672 return _VSTD::search_n(__first, __last, __count, __value_, __equal_to<__v, _Tp>());
1734 __copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result)
1736 for (; __first != __last; ++__first, ++__result)
1749 __copy(_Tp* __first, _Tp* __last, _Up* __result)
1751 const size_t __n = static_cast<size_t>(__last - __first);
1759 copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result)
1761 return _VSTD::__copy(__unwrap_iter(__first), __unwrap_iter(__last), __unwrap_iter(__result));
1769 __copy_backward(_BidirectionalIterator __first, _BidirectionalIterator __last, _OutputIterator __re…
1771 while (__first != __last)
1772 *--__result = *--__last;
1784 __copy_backward(_Tp* __first, _Tp* __last, _Up* __result)
1786 const size_t __n = static_cast<size_t>(__last - __first);
1795 copy_backward(_BidirectionalIterator1 __first, _BidirectionalIterator1 __last,
1798 …return _VSTD::__copy_backward(__unwrap_iter(__first), __unwrap_iter(__last), __unwrap_iter(__resul…
1806 copy_if(_InputIterator __first, _InputIterator __last,
1809 for (; __first != __last; ++__first)
1863 __move(_InputIterator __first, _InputIterator __last, _OutputIterator __result)
1865 for (; __first != __last; ++__first, ++__result)
1878 __move(_Tp* __first, _Tp* __last, _Up* __result)
1880 const size_t __n = static_cast<size_t>(__last - __first);
1888 move(_InputIterator __first, _InputIterator __last, _OutputIterator __result)
1890 return _VSTD::__move(__unwrap_iter(__first), __unwrap_iter(__last), __unwrap_iter(__result));
1898 __move_backward(_InputIterator __first, _InputIterator __last, _OutputIterator __result)
1900 while (__first != __last)
1901 *--__result = _VSTD::move(*--__last);
1913 __move_backward(_Tp* __first, _Tp* __last, _Up* __result)
1915 const size_t __n = static_cast<size_t>(__last - __first);
1924 move_backward(_BidirectionalIterator1 __first, _BidirectionalIterator1 __last,
1927 …return _VSTD::__move_backward(__unwrap_iter(__first), __unwrap_iter(__last), __unwrap_iter(__resul…
1939 transform(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _UnaryOperation …
1941 for (; __first != __last; ++__first, ++__result)
1962 replace(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __old_value, const _Tp& __new…
1964 for (; __first != __last; ++__first)
1974 replace_if(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, const _Tp& __new_v…
1976 for (; __first != __last; ++__first)
1986 replace_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result,
1989 for (; __first != __last; ++__first, ++__result)
2002 replace_copy_if(_InputIterator __first, _InputIterator __last, _OutputIterator __result,
2005 for (; __first != __last; ++__first, ++__result)
2054 __fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_, forward_iterator_tag)
2056 for (; __first != __last; ++__first)
2063 __fill(_RandomAccessIterator __first, _RandomAccessIterator __last, const _Tp& __value_, random_acc…
2065 _VSTD::fill_n(__first, __last - __first, __value_);
2071 fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_)
2073 …_VSTD::__fill(__first, __last, __value_, typename iterator_traits<_ForwardIterator>::iterator_cate…
2081 generate(_ForwardIterator __first, _ForwardIterator __last, _Generator __gen)
2083 for (; __first != __last; ++__first)
2103 remove(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_)
2105 __first = _VSTD::find(__first, __last, __value_);
2106 if (__first != __last)
2109 while (++__i != __last)
2125 remove_if(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred)
2128 (__first, __last, __pred);
2129 if (__first != __last)
2132 while (++__i != __last)
2149 remove_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, const _Tp& __v…
2151 for (; __first != __last; ++__first)
2167 remove_copy_if(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _Predicate …
2169 for (; __first != __last; ++__first)
2184 unique(_ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __pred)
2187 (__first, __last, __pred);
2188 if (__first != __last)
2193 for (++__i; ++__i != __last;)
2204 unique(_ForwardIterator __first, _ForwardIterator __last)
2207 return _VSTD::unique(__first, __last, __equal_to<__v>());
2214 __unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryPredi…
2217 if (__first != __last)
2222 while (++__first != __last)
2237 __unique_copy(_ForwardIterator __first, _ForwardIterator __last, _OutputIterator __result, _BinaryP…
2240 if (__first != __last)
2245 while (++__first != __last)
2260 __unique_copy(_InputIterator __first, _InputIterator __last, _ForwardIterator __result, _BinaryPred…
2263 if (__first != __last)
2266 while (++__first != __last)
2277 unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryPredica…
2280 (__first, __last, __result, __pred,
2288 unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result)
2291 return _VSTD::unique_copy(__first, __last, __result, __equal_to<__v>());
2299 __reverse(_BidirectionalIterator __first, _BidirectionalIterator __last, bidirectional_iterator_tag)
2301 while (__first != __last)
2303 if (__first == --__last)
2305 swap(*__first, *__last);
2313 __reverse(_RandomAccessIterator __first, _RandomAccessIterator __last, random_access_iterator_tag)
2315 if (__first != __last)
2316 for (; __first < --__last; ++__first)
2317 swap(*__first, *__last);
2323 reverse(_BidirectionalIterator __first, _BidirectionalIterator __last)
2325 …_VSTD::__reverse(__first, __last, typename iterator_traits<_BidirectionalIterator>::iterator_categ…
2333 reverse_copy(_BidirectionalIterator __first, _BidirectionalIterator __last, _OutputIterator __resul…
2335 for (; __first != __last; ++__result)
2336 *__result = *--__last;
2344 __rotate_left(_ForwardIterator __first, _ForwardIterator __last)
2348 _ForwardIterator __lm1 = _VSTD::move(_VSTD::next(__first), __last, __first);
2355 __rotate_right(_BidirectionalIterator __first, _BidirectionalIterator __last)
2358 _BidirectionalIterator __lm1 = _VSTD::prev(__last);
2360 _BidirectionalIterator __fp1 = _VSTD::move_backward(__first, __lm1, __last);
2367 __rotate_forward(_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last)
2374 if (++__i == __last)
2387 if (++__i == __last)
2416 …te_gcd(_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last)
2422 const difference_type __m2 = __last - __middle;
2438 const difference_type __d = __last - __p2;
2452 __rotate(_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last,
2459 return _VSTD::__rotate_left(__first, __last);
2461 return _VSTD::__rotate_forward(__first, __middle, __last);
2467 …ate(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last,
2474 return _VSTD::__rotate_left(__first, __last);
2475 if (_VSTD::next(__middle) == __last)
2476 return _VSTD::__rotate_right(__first, __last);
2478 return _VSTD::__rotate_forward(__first, __middle, __last);
2484 …rotate(_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last,
2491 return _VSTD::__rotate_left(__first, __last);
2492 if (_VSTD::next(__middle) == __last)
2493 return _VSTD::__rotate_right(__first, __last);
2494 return _VSTD::__rotate_gcd(__first, __middle, __last);
2496 return _VSTD::__rotate_forward(__first, __middle, __last);
2502 rotate(_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last)
2505 return __last;
2506 if (__middle == __last)
2508 return _VSTD::__rotate(__first, __middle, __last,
2517 rotate_copy(_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last, _OutputIt…
2519 return _VSTD::copy(__first, __middle, _VSTD::copy(__middle, __last, __result));
2527 __min_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp)
2529 if (__first != __last)
2532 while (++__i != __last)
2542 min_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp)
2544 return __min_element(__first, __last, __comp);
2550 min_element(_ForwardIterator __first, _ForwardIterator __last)
2552 return __min_element(__first, __last,
2599 __max_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp)
2601 if (__first != __last)
2604 while (++__i != __last)
2615 max_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp)
2617 return __max_element(__first, __last, __comp);
2623 max_element(_ForwardIterator __first, _ForwardIterator __last)
2625 return __max_element(__first, __last,
2671 minmax_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp)
2674 if (__first != __last)
2676 if (++__first != __last)
2682 while (++__first != __last)
2685 if (++__first == __last)
2719 minmax_element(_ForwardIterator __first, _ForwardIterator __last)
2721 return _VSTD::minmax_element(__first, __last,
2753 _Iter __last = __t.end();
2766 while (__first != __last)
3068 random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last)
3073 difference_type __d = __last - __first;
3078 for (--__last, --__d; __first < __last; ++__first, --__d)
3089 random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last,
3097 difference_type __d = __last - __first;
3100 for (--__last; __first < __last; ++__first, --__d)
3109 void shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last,
3119 difference_type __d = __last - __first;
3123 for (--__last, --__d; __first < __last; ++__first, --__d)
3134 is_partitioned(_InputIterator __first, _InputIterator __last, _Predicate __pred)
3136 for (; __first != __last; ++__first)
3139 for (; __first != __last; ++__first)
3149 __partition(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, forward_iterator_…
3153 if (__first == __last)
3159 for (_ForwardIterator __p = __first; ++__p != __last;)
3172 __partition(_BidirectionalIterator __first, _BidirectionalIterator __last, _Predicate __pred,
3179 if (__first == __last)
3187 if (__first == --__last)
3189 } while (!__pred(*__last));
3190 swap(*__first, *__last);
3198 partition(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred)
3201 … (__first, __last, __pred, typename iterator_traits<_ForwardIterator>::iterator_category());
3209 partition_copy(_InputIterator __first, _InputIterator __last,
3213 for (; __first != __last; ++__first)
3233 partition_point(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred)
3236 difference_type __len = _VSTD::distance(__first, __last);
3257 __stable_partition(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred,
3286 while (++__i != __last)
3320 // recurse on [__m, __last], except increase __m until *(__m) is false, *__last know to be true
3322 _ForwardIterator __second_false = __last;
3326 if (++__m1 == __last)
3332 __second_false = __stable_partition<_PredRef>(__m1, __last, __pred, __len_half, __p, __fit);
3349 __stable_partition(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred,
3356 if (__first == __last)
3362 // We now have a reduced range [__first, __last)
3366 difference_type __len = _VSTD::distance(__first, __last);
3375 (__first, __last, __pred, __len, __p, forward_iterator_tag());
3380 __stable_partition(_BidirectionalIterator __first, _BidirectionalIterator __last, _Predicate __pred,
3384 // *__last is known to be true
3388 swap(*__first, *__last);
3389 return __last;
3397 swap(*__m, *__last);
3398 return __last;
3400 swap(*__m, *__last);
3416 while (++__i != __last)
3430 // move *__last, known to be true
3464 // recurse on [__m, __last], except increase __m until *(__m) is false, *__last know to be true
3466 _BidirectionalIterator __second_false = __last;
3471 if (++__m1 == __last)
3477 __second_false = __stable_partition<_PredRef>(__m1, __last, __pred, __len_half, __p, __bit);
3488 __stable_partition(_BidirectionalIterator __first, _BidirectionalIterator __last, _Predicate __pred,
3497 if (__first == __last)
3504 // Either prove [__first, __last) is all false and return __first, or point __last to last true
3507 if (__first == --__last)
3509 } while (!__pred(*__last));
3510 // We now have a reduced range [__first, __last]
3512 // *__last is known to be true
3514 difference_type __len = _VSTD::distance(__first, __last) + 1;
3523 (__first, __last, __pred, __len, __p, bidirectional_iterator_tag());
3529 stable_partition(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred)
3532 … (__first, __last, __pred, typename iterator_traits<_ForwardIterator>::iterator_category());
3539 is_sorted_until(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp)
3541 if (__first != __last)
3544 while (++__i != __last)
3551 return __last;
3557 is_sorted_until(_ForwardIterator __first, _ForwardIterator __last)
3559 …return _VSTD::is_sorted_until(__first, __last, __less<typename iterator_traits<_ForwardIterator>::…
3567 is_sorted(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp)
3569 return _VSTD::is_sorted_until(__first, __last, __comp) == __last;
3575 is_sorted(_ForwardIterator __first, _ForwardIterator __last)
3577 …return _VSTD::is_sorted(__first, __last, __less<typename iterator_traits<_ForwardIterator>::value_…
3679 __selection_sort(_BirdirectionalIterator __first, _BirdirectionalIterator __last, _Compare __comp)
3681 _BirdirectionalIterator __lm1 = __last;
3686 (__first, __last, __comp);
3694 __insertion_sort(_BirdirectionalIterator __first, _BirdirectionalIterator __last, _Compare __comp)
3697 if (__first != __last)
3700 for (++__i; __i != __last; ++__i)
3713 __insertion_sort_3(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
3718 for (_RandomAccessIterator __i = __j+1; __i != __last; ++__i)
3738 __insertion_sort_incomplete(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare _…
3740 switch (__last - __first)
3746 if (__comp(*--__last, *__first))
3747 swap(*__first, *__last);
3750 _VSTD::__sort3<_Compare>(__first, __first+1, --__last, __comp);
3753 _VSTD::__sort4<_Compare>(__first, __first+1, __first+2, --__last, __comp);
3756 _VSTD::__sort5<_Compare>(__first, __first+1, __first+2, __first+3, --__last, __comp);
3764 for (_RandomAccessIterator __i = __j+1; __i != __last; ++__i)
3778 return ++__i == __last;
3822 __sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
3832 difference_type __len = __last - __first;
3839 if (__comp(*--__last, *__first))
3840 swap(*__first, *__last);
3843 _VSTD::__sort3<_Compare>(__first, __first+1, --__last, __comp);
3846 _VSTD::__sort4<_Compare>(__first, __first+1, __first+2, --__last, __comp);
3849 _VSTD::__sort5<_Compare>(__first, __first+1, __first+2, __first+3, --__last, __comp);
3854 _VSTD::__insertion_sort_3<_Compare>(__first, __last, __comp);
3859 _RandomAccessIterator __lm1 = __last;
3879 // partition [__first, __m) < *__m and *__m <= [__m, __last)
3895 // Parition instead into [__first, __i) == *__first and *__first < [__i, __last)
3897 __j = __last;
3898 if (!__comp(*__first, *--__j)) // we need a guard if *__first == *(__last-1)
3903 return; // [__first, __last) all equivalent elements
3914 // [__first, __i) == *__first and *__first < [__j, __last) and __j == __last - 1
3929 // [__first, __i) == *__first and *__first < [__i, __last)
3931 // _VSTD::__sort<_Compare>(__i, __last, __comp);
3970 // [__first, __i) < *__m and *__m <= [__i, __last)
3976 // [__first, __i) < *__i and *__i <= [__i+1, __last)
3981 if (_VSTD::__insertion_sort_incomplete<_Compare>(__i+1, __last, __comp))
3985 __last = __i;
3998 if (__i - __first < __last - __i)
4001 // _VSTD::__sort<_Compare>(__i+1, __last, __comp);
4006 _VSTD::__sort<_Compare>(__i+1, __last, __comp);
4008 __last = __i;
4017 sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
4022 __sort<_Comp_ref>(__first, __last, __c);
4025 __sort<_Comp_ref>(__first, __last, __comp);
4032 sort(_RandomAccessIterator __first, _RandomAccessIterator __last)
4034 …_VSTD::sort(__first, __last, __less<typename iterator_traits<_RandomAccessIterator>::value_type>()…
4040 sort(_Tp** __first, _Tp** __last)
4042 _VSTD::sort((size_t*)__first, (size_t*)__last, __less<size_t>());
4048 sort(__wrap_iter<_Tp*> __first, __wrap_iter<_Tp*> __last)
4050 _VSTD::sort(__first.base(), __last.base());
4056 sort(__wrap_iter<_Tp*> __first, __wrap_iter<_Tp*> __last, _Compare __comp)
4059 _VSTD::sort<_Tp*, _Comp_ref>(__first.base(), __last.base(), __comp);
4107 __lower_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_, _Compare __co…
4110 difference_type __len = _VSTD::distance(__first, __last);
4130 lower_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_, _Compare __comp)
4135 return __lower_bound<_Comp_ref>(__first, __last, __value_, __c);
4138 return __lower_bound<_Comp_ref>(__first, __last, __value_, __comp);
4145 lower_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_)
4147 return _VSTD::lower_bound(__first, __last, __value_,
4155 __upper_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_, _Compare __co…
4158 difference_type __len = _VSTD::distance(__first, __last);
4178 upper_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_, _Compare __comp)
4183 return __upper_bound<_Comp_ref>(__first, __last, __value_, __c);
4186 return __upper_bound<_Comp_ref>(__first, __last, __value_, __comp);
4193 upper_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_)
4195 return _VSTD::upper_bound(__first, __last, __value_,
4203 __equal_range(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_, _Compare __co…
4206 difference_type __len = _VSTD::distance(__first, __last);
4219 __last = __m;
4228 __upper_bound<_Compare>(++__mp1, __last, __value_, __comp)
4238 equal_range(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_, _Compare __comp)
4243 return __equal_range<_Comp_ref>(__first, __last, __value_, __c);
4246 return __equal_range<_Comp_ref>(__first, __last, __value_, __comp);
4253 equal_range(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_)
4255 return _VSTD::equal_range(__first, __last, __value_,
4264 __binary_search(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_, _Compare __…
4266 __first = __lower_bound<_Compare>(__first, __last, __value_, __comp);
4267 return __first != __last && !__comp(__value_, *__first);
4273 binary_search(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_, _Compare __co…
4278 return __binary_search<_Comp_ref>(__first, __last, __value_, __c);
4281 return __binary_search<_Comp_ref>(__first, __last, __value_, __comp);
4288 binary_search(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_)
4290 return _VSTD::binary_search(__first, __last, __value_,
4350 …rge(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last,
4368 move_iterator<_BidirectionalIterator>(__last),
4374 …for (_BidirectionalIterator __i = __middle; __i != __last; __d.__incr((value_type*)0), ++__i, ++__…
4380 _RBi(__last), __negate<_Compare>(__comp));
4386 …rge(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last,
4395 // if __middle == __last, we're done
4408 … __buffered_inplace_merge<_Compare>(__first, __middle, __last, __comp, __len1, __len2, __buff);
4411 // __first < __middle < __last
4413 // partition [__first, __m1) [__m1, __middle) [__middle, __m2) [__m2, __last) such that
4417 // [__m1, __middle) <= [__m2, __last)
4420 _BidirectionalIterator __m2; // "median" of [__middle, __last)
4444 __m2 = __lower_bound<_Compare>(__middle, __last, *__m1, __comp);
4448 difference_type __len22 = __len2 - __len21; // distance(__m2, __last)
4449 // [__first, __m1) [__m1, __middle) [__middle, __m2) [__m2, __last)
4457 // __inplace_merge<_Compare>(__middle, __m2, __last, __comp, __len12, __len22, __buff, __b…
4465 … __inplace_merge<_Compare>(__middle, __m2, __last, __comp, __len12, __len22, __buff, __buff_size);
4467 __last = __middle;
4484 …rge(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last,
4490 difference_type __len2 = _VSTD::distance(__middle, __last);
4502 return _VSTD::__inplace_merge<_Comp_ref>(__first, __middle, __last, __c, __len1, __len2,
4506 return _VSTD::__inplace_merge<_Comp_ref>(__first, __middle, __last, __comp, __len1, __len2,
4514 …rge(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last)
4516 _VSTD::inplace_merge(__first, __middle, __last,
4593 __stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp,
4651 __stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp,
4663 if (__comp(*--__last, *__first))
4664 swap(*__first, *__last);
4669 __insertion_sort<_Compare>(__first, __last, __comp);
4680 __stable_sort_move<_Compare>(__m, __last, __comp, __len - __l2, __buff + __l2);
4691 __stable_sort<_Compare>(__m, __last, __comp, __len - __l2, __buff, __buff_size);
4692 … __inplace_merge<_Compare>(__first, __m, __last, __comp, __l2, __len - __l2, __buff, __buff_size);
4698 stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
4702 difference_type __len = __last - __first;
4713 __stable_sort<_Comp_ref>(__first, __last, __c, __len, __buf.first, __buf.second);
4716 __stable_sort<_Comp_ref>(__first, __last, __comp, __len, __buf.first, __buf.second);
4723 stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last)
4725 …_VSTD::stable_sort(__first, __last, __less<typename iterator_traits<_RandomAccessIterator>::value_…
4732 is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
4735 difference_type __len = __last - __first;
4747 return __last;
4754 return __last;
4760 is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last)
4762 …return _VSTD::is_heap_until(__first, __last, __less<typename iterator_traits<_RandomAccessIterator…
4770 is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
4772 return _VSTD::is_heap_until(__first, __last, __comp) == __last;
4778 is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
4780 …return _VSTD::is_heap(__first, __last, __less<typename iterator_traits<_RandomAccessIterator>::val…
4828 __push_heap_back(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp,
4837 if (__comp(*__ptr, *--__last))
4839 value_type __t(_VSTD::move(*__last));
4842 *__last = _VSTD::move(*__ptr);
4843 __last = __ptr;
4849 *__last = _VSTD::move(__t);
4857 push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
4862 __push_heap_back<_Comp_ref>(__first, __last, __c, __last - __first);
4865 __push_heap_back<_Comp_ref>(__first, __last, __comp, __last - __first);
4872 push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
4874 …_VSTD::push_heap(__first, __last, __less<typename iterator_traits<_RandomAccessIterator>::value_ty…
4882 __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp,
4887 swap(*__first, *--__last);
4888 __push_heap_front<_Compare>(__first, __last, __comp, __len-1);
4895 pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
4900 __pop_heap<_Comp_ref>(__first, __last, __c, __last - __first);
4903 __pop_heap<_Comp_ref>(__first, __last, __comp, __last - __first);
4910 pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
4912 …_VSTD::pop_heap(__first, __last, __less<typename iterator_traits<_RandomAccessIterator>::value_typ…
4919 __make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
4922 difference_type __n = __last - __first;
4925 __last = __first;
4926 ++__last;
4928 __push_heap_back<_Compare>(__first, ++__last, __comp, ++__i);
4935 make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
4940 __make_heap<_Comp_ref>(__first, __last, __c);
4943 __make_heap<_Comp_ref>(__first, __last, __comp);
4950 make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
4952 …_VSTD::make_heap(__first, __last, __less<typename iterator_traits<_RandomAccessIterator>::value_ty…
4959 __sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
4962 for (difference_type __n = __last - __first; __n > 1; --__last, --__n)
4963 __pop_heap<_Compare>(__first, __last, __comp, __n);
4969 sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
4974 __sort_heap<_Comp_ref>(__first, __last, __c);
4977 __sort_heap<_Comp_ref>(__first, __last, __comp);
4984 sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
4986 …_VSTD::sort_heap(__first, __last, __less<typename iterator_traits<_RandomAccessIterator>::value_ty…
4993 …l_sort(_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last,
4998 for (_RandomAccessIterator __i = __middle; __i != __last; ++__i)
5012 …l_sort(_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last,
5018 __partial_sort<_Comp_ref>(__first, __middle, __last, __c);
5021 __partial_sort<_Comp_ref>(__first, __middle, __last, __comp);
5028 …l_sort(_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last)
5030 _VSTD::partial_sort(__first, __middle, __last,
5038 __partial_sort_copy(_InputIterator __first, _InputIterator __last,
5045 for (; __first != __last && __r != __result_last; ++__first, ++__r, ++__len)
5048 for (; __first != __last; ++__first)
5062 partial_sort_copy(_InputIterator __first, _InputIterator __last,
5068 return __partial_sort_copy<_Comp_ref>(__first, __last, __result_first, __result_last, __c);
5071 return __partial_sort_copy<_Comp_ref>(__first, __last, __result_first, __result_last, __comp);
5078 partial_sort_copy(_InputIterator __first, _InputIterator __last,
5081 return _VSTD::partial_sort_copy(__first, __last, __result_first, __result_last,
5089 …AccessIterator __first, _RandomAccessIterator __nth, _RandomAccessIterator __last, _Compare __comp)
5097 if (__nth == __last)
5099 difference_type __len = __last - __first;
5106 if (__comp(*--__last, *__first))
5107 swap(*__first, *__last);
5112 _VSTD::__sort3<_Compare>(__first, ++__m, --__last, __comp);
5118 __selection_sort<_Compare>(__first, __last, __comp);
5123 _RandomAccessIterator __lm1 = __last;
5126 // partition [__first, __m) < *__m and *__m <= [__m, __last)
5142 // Parition instead into [__first, __i) == *__first and *__first < [__i, __last)
5144 __j = __last;
5145 if (!__comp(*__first, *--__j)) // we need a guard if *__first == *(__last-1)
5150 return; // [__first, __last) all equivalent elements
5161 // [__first, __i) == *__first and *__first < [__j, __last) and __j == __last - 1
5176 // [__first, __i) == *__first and *__first < [__i, __last)
5181 // __nth_element<_Compare>(__i, __nth, __last, __comp);
5218 // [__first, __i) < *__m and *__m <= [__i, __last)
5224 // [__first, __i) < *__i and *__i <= [__i+1, __last)
5246 // Check for [__i, __last) already sorted
5248 while (++__j != __last)
5255 // [__i, __last) sorted
5264 __last = __i;
5268 // __nth_element<_Compare>(__i+1, __nth, __last, __comp);
5277 …AccessIterator __first, _RandomAccessIterator __nth, _RandomAccessIterator __last, _Compare __comp)
5282 __nth_element<_Comp_ref>(__first, __nth, __last, __c);
5285 __nth_element<_Comp_ref>(__first, __nth, __last, __comp);
5292 …h_element(_RandomAccessIterator __first, _RandomAccessIterator __nth, _RandomAccessIterator __last)
5294 …_VSTD::nth_element(__first, __nth, __last, __less<typename iterator_traits<_RandomAccessIterator>:…
5607 __next_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp)
5609 _BidirectionalIterator __i = __last;
5610 if (__first == __last || __first == --__i)
5617 _BidirectionalIterator __j = __last;
5621 _VSTD::reverse(__ip1, __last);
5626 _VSTD::reverse(__first, __last);
5635 next_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp)
5640 return __next_permutation<_Comp_ref>(__first, __last, __c);
5643 return __next_permutation<_Comp_ref>(__first, __last, __comp);
5650 next_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last)
5652 return _VSTD::next_permutation(__first, __last,
5660 __prev_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp)
5662 _BidirectionalIterator __i = __last;
5663 if (__first == __last || __first == --__i)
5670 _BidirectionalIterator __j = __last;
5674 _VSTD::reverse(__ip1, __last);
5679 _VSTD::reverse(__first, __last);
5688 prev_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp)
5693 return __prev_permutation<_Comp_ref>(__first, __last, __c);
5696 return __prev_permutation<_Comp_ref>(__first, __last, __comp);
5703 prev_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last)
5705 return _VSTD::prev_permutation(__first, __last,