Home | History | Annotate | Download | only in bits

Lines Matching refs:__middle

862       _ForwardIterator __middle;
867 __middle = __first;
868 std::advance(__middle, __half);
869 if (__pred(*__middle))
871 __first = __middle;
1535 _ForwardIterator __middle,
1539 if (__first == __middle || __last == __middle)
1542 _ForwardIterator __first2 = __middle;
1548 if (__first == __middle)
1549 __middle = __first2;
1553 __first2 = __middle;
1560 if (__first == __middle)
1561 __middle = __first2;
1563 __first2 = __middle;
1571 _BidirectionalIterator __middle,
1579 if (__first == __middle || __last == __middle)
1582 std::__reverse(__first, __middle, bidirectional_iterator_tag());
1583 std::__reverse(__middle, __last, bidirectional_iterator_tag());
1585 while (__first != __middle && __middle != __last)
1591 if (__first == __middle)
1592 std::__reverse(__middle, __last, bidirectional_iterator_tag());
1594 std::__reverse(__first, __middle, bidirectional_iterator_tag());
1601 _RandomAccessIterator __middle,
1609 if (__first == __middle || __last == __middle)
1618 _Distance __k = __middle - __first;
1622 std::swap_ranges(__first, __middle, __middle);
1682 * @param __middle A forward iterator.
1687 * @p (__middle - __first) positions so that the element at @p __middle
1688 * is moved to @p __first, the element at @p __middle+1 is moved to
1692 * This effectively swaps the ranges @p [__first,__middle) and
1693 * @p [__middle,__last).
1696 * @p *(__first+(n+(__last-__middle))%(__last-__first))=*(__first+n)
1701 rotate(_ForwardIterator __first, _ForwardIterator __middle,
1707 __glibcxx_requires_valid_range(__first, __middle);
1708 __glibcxx_requires_valid_range(__middle, __last);
1712 std::__rotate(__first, __middle, __last, _IterType());
1719 * @param __middle A forward iterator.
1726 * @p (__middle-__first) positions so that the element at @p __middle
1727 * is moved to @p __result, the element at @p __middle+1 is moved
1732 * @p *(__result+(n+(__last-__middle))%(__last-__first))=*(__first+n)
1737 rotate_copy(_ForwardIterator __first, _ForwardIterator __middle,
1744 __glibcxx_requires_valid_range(__first, __middle);
1745 __glibcxx_requires_valid_range(__middle, __last);
1747 return std::copy(__first, __middle,
1748 std::copy(__middle, __last, __result));
1816 _ForwardIterator __middle = __first;
1817 std::advance(__middle, __len / 2);
1824 std::__find_if_not_n(__middle, __right_len, __pred);
1826 __right_split = std::__inplace_stable_partition(__middle,
1829 std::rotate(__left_split, __middle, __right_split);
1830 std::advance(__left_split, std::distance(__middle, __right_split));
1875 _ForwardIterator __middle = __first;
1876 std::advance(__middle, __len / 2);
1878 std::__stable_partition_adaptive(__first, __middle, __pred,
1885 std::__find_if_not_n(__middle, __right_len, __pred);
1891 std::rotate(__left_split, __middle, __right_split);
1892 std::advance(__left_split, std::distance(__middle, __right_split));
1956 _RandomAccessIterator __middle,
1959 std::make_heap(__first, __middle);
1960 for (_RandomAccessIterator __i = __middle; __i < __last; ++__i)
1962 std::__pop_heap(__first, __middle, __i);
1969 _RandomAccessIterator __middle,
1972 std::make_heap(__first, __middle, __comp);
1973 for (_RandomAccessIterator __i = __middle; __i < __last; ++__i)
1975 std::__pop_heap(__first, __middle, __i, __comp);
2470 _ForwardIterator __middle = __first;
2471 std::advance(__middle, __half);
2472 if (__comp(*__middle, __val))
2474 __first = __middle;
2515 _ForwardIterator __middle = __first;
2516 std::advance(__middle, __half);
2517 if (__val < *__middle)
2521 __first = __middle;
2566 _ForwardIterator __middle = __first;
2567 std::advance(__middle, __half);
2568 if (__comp(__val, *__middle))
2572 __first = __middle;
2619 _ForwardIterator __middle = __first;
2620 std::advance(__middle, __half);
2621 if (*__middle < __val)
2623 __first = __middle;
2627 else if (__val < *__middle)
2631 _ForwardIterator __left = std::lower_bound(__first, __middle,
2634 _ForwardIterator __right = std::upper_bound(++__middle, __first,
2685 _ForwardIterator __middle = __first;
2686 std::advance(__middle, __half);
2687 if (__comp(*__middle, __val))
2689 __first = __middle;
2693 else if (__comp(__val, *__middle))
2697 _ForwardIterator __left = std::lower_bound(__first, __middle,
2700 _ForwardIterator __right = std::upper_bound(++__middle, __first,
2918 _BidirectionalIterator1 __middle,
2929 __buffer_end = _GLIBCXX_MOVE3(__middle, __last, __buffer);
2930 _GLIBCXX_MOVE_BACKWARD3(__first, __middle, __last);
2940 __buffer_end = _GLIBCXX_MOVE3(__first, __middle, __buffer);
2941 _GLIBCXX_MOVE3(__middle, __last, __first);
2949 std::rotate(__first, __middle, __last);
2950 std::advance(__first, std::distance(__middle, __last));
2960 _BidirectionalIterator __middle,
2967 _Pointer __buffer_end = _GLIBCXX_MOVE3(__first, __middle, __buffer);
2968 std::__move_merge_adaptive(__buffer, __buffer_end, __middle, __last,
2973 _Pointer __buffer_end = _GLIBCXX_MOVE3(__middle, __last, __buffer);
2974 std::__move_merge_adaptive_backward(__first, __middle, __buffer,
2980 _BidirectionalIterator __second_cut = __middle;
2987 __second_cut = std::lower_bound(__middle, __last,
2989 __len22 = std::distance(__middle, __second_cut);
2995 __first_cut = std::upper_bound(__first, __middle,
3000 std::__rotate_adaptive(__first_cut, __middle, __second_cut,
3016 _BidirectionalIterator __middle,
3024 _Pointer __buffer_end = _GLIBCXX_MOVE3(__first, __middle, __buffer);
3025 std::__move_merge_adaptive(__buffer, __buffer_end, __middle, __last,
3030 _Pointer __buffer_end = _GLIBCXX_MOVE3(__middle, __last, __buffer);
3031 std::__move_merge_adaptive_backward(__first, __middle, __buffer,
3037 _BidirectionalIterator __second_cut = __middle;
3044 __second_cut = std::lower_bound(__middle, __last, *__first_cut,
3046 __len22 = std::distance(__middle, __second_cut);
3052 __first_cut = std::upper_bound(__first, __middle, *__second_cut,
3057 std::__rotate_adaptive(__first_cut, __middle, __second_cut,
3073 _BidirectionalIterator __middle,
3081 if (*__middle < *__first)
3082 std::iter_swap(__first, __middle);
3086 _BidirectionalIterator __second_cut = __middle;
3093 __second_cut = std::lower_bound(__middle, __last, *__first_cut);
3094 __len22 = std::distance(__middle, __second_cut);
3100 __first_cut = std::upper_bound(__first, __middle, *__second_cut);
3103 std::rotate(__first_cut, __middle, __second_cut);
3105 std::advance(__new_middle, std::distance(__middle, __second_cut));
3117 _BidirectionalIterator __middle,
3126 if (__comp(*__middle, *__first))
3127 std::iter_swap(__first, __middle);
3131 _BidirectionalIterator __second_cut = __middle;
3138 __second_cut = std::lower_bound(__middle, __last, *__first_cut,
3140 __len22 = std::distance(__middle, __second_cut);
3146 __first_cut = std::upper_bound(__first, __middle, *__second_cut,
3150 std::rotate(__first_cut, __middle, __second_cut);
3152 std::advance(__new_middle, std::distance(__middle, __second_cut));
3163 * @param __middle Another iterator.
3167 * Merges two sorted and consecutive ranges, [__first,__middle) and
3168 * [__middle,__last), and puts the result in [__first,__last). The
3180 _BidirectionalIterator __middle,
3192 __glibcxx_requires_sorted(__first, __middle);
3193 __glibcxx_requires_sorted(__middle, __last);
3195 if (__first == __middle || __middle == __last)
3198 _DistanceType __len1 = std::distance(__first, __middle);
3199 _DistanceType __len2 = std::distance(__middle, __last);
3204 std::__merge_without_buffer(__first, __middle, __last, __len1, __len2);
3206 std::__merge_adaptive(__first, __middle, __last, __len1, __len2,
3214 * @param __middle Another iterator.
3219 * Merges two sorted and consecutive ranges, [__first,__middle) and
3235 _BidirectionalIterator __middle,
3249 __glibcxx_requires_sorted_pred(__first, __middle, __comp);
3250 __glibcxx_requires_sorted_pred(__middle, __last, __comp);
3252 if (__first == __middle || __middle == __last)
3255 const _DistanceType __len1 = std::distance(__first, __middle);
3256 const _DistanceType __len2 = std::distance(__middle, __last);
3261 std::__merge_without_buffer(__first, __middle, __last, __len1,
3264 std::__merge_adaptive(__first, __middle, __last, __len1, __len2,
3460 const _RandomAccessIterator __middle = __first + __len;
3463 std::__stable_sort_adaptive(__first, __middle,
3465 std::__stable_sort_adaptive(__middle, __last,
3470 std::__merge_sort_with_buffer(__first, __middle, __buffer);
3471 std::__merge_sort_with_buffer(__middle, __last, __buffer);
3473 std::__merge_adaptive(__first, __middle, __last,
3474 _Distance(__middle - __first),
3475 _Distance(__last - __middle),
3488 const _RandomAccessIterator __middle = __first + __len;
3491 std::__stable_sort_adaptive(__first, __middle, __buffer,
3493 std::__stable_sort_adaptive(__middle, __last, __buffer,
3498 std::__merge_sort_with_buffer(__first, __middle, __buffer, __comp);
3499 std::__merge_sort_with_buffer(__middle, __last, __buffer, __comp);
3501 std::__merge_adaptive(__first, __middle, __last,
3502 _Distance(__middle - __first),
3503 _Distance(__last - __middle),
3519 _RandomAccessIterator __middle = __first + (__last - __first) / 2;
3520 std::__inplace_stable_sort(__first, __middle);
3521 std::__inplace_stable_sort(__middle, __last);
3522 std::__merge_without_buffer(__first, __middle, __last,
3523 __middle - __first,
3524 __last - __middle);
3538 _RandomAccessIterator __middle = __first + (__last - __first) / 2;
3539 std::__inplace_stable_sort(__first, __middle, __comp);
3540 std::__inplace_stable_sort(__middle, __last, __comp);
3541 std::__merge_without_buffer(__first, __middle, __last,
3542 __middle - __first,
3543 __last - __middle,
5296 * @param __middle Another iterator.
5300 * Sorts the smallest @p (__middle-__first) elements in the range
5301 * @p [first,last) and moves them to the range @p [__first,__middle). The
5302 * order of the remaining elements in the range @p [__middle,__last) is
5305 * @p [__first,__middle) such that i precedes j and @e k is an iterator in
5306 * the range @p [__middle,__last) then *j<*i and *k<*i are both false.
5311 _RandomAccessIterator __middle,
5321 __glibcxx_requires_valid_range(__first, __middle);
5322 __glibcxx_requires_valid_range(__middle, __last);
5324 std::__heap_select(__first, __middle, __last);
5325 std::sort_heap(__first, __middle);
5333 * @param __middle Another iterator.
5338 * Sorts the smallest @p (__middle-__first) elements in the range
5339 * @p [__first,__last) and moves them to the range @p [__first,__middle). The
5340 * order of the remaining elements in the range @p [__middle,__last) is
5343 * @p [__first,__middle) such that i precedes j and @e k is an iterator in
5344 * the range @p [__middle,__last) then @p *__comp(j,*i) and @p __comp(*k,*i)
5350 _RandomAccessIterator __middle,
5362 __glibcxx_requires_valid_range(__first, __middle);
5363 __glibcxx_requires_valid_range(__middle, __last);
5365 std::__heap_select(__first, __middle, __last, __comp);
5366 std::sort_heap(__first, __middle, __comp);