Lines Matching defs:__first
30 __partition_impl(_ForwardIterator __first, _Sentinel __last, _Predicate __pred, forward_iterator_tag) {
32 if (__first == __last)
33 return std::make_pair(__first, __first);
34 if (!__pred(*__first))
36 ++__first;
39 _ForwardIterator __p = __first;
42 _IterOps<_AlgPolicy>::iter_swap(__first, __p);
43 ++__first;
46 return std::make_pair(std::move(__first), std::move(__p));
51 __partition_impl(_BidirectionalIterator __first, _Sentinel __sentinel, _Predicate __pred, bidirectional_iterator_tag) {
52 _BidirectionalIterator __original_last = _IterOps<_AlgPolicy>::next(__first, __sentinel);
57 if (__first == __last)
58 return std::make_pair(std::move(__first), std::move(__original_last));
59 if (!__pred(*__first))
61 ++__first;
64 if (__first == --__last)
65 return std::make_pair(std::move(__first), std::move(__original_last));
67 _IterOps<_AlgPolicy>::iter_swap(__first, __last);
68 ++__first;
74 __partition(_ForwardIterator __first, _Sentinel __last, _Predicate&& __pred, _IterCategory __iter_category) {
76 std::move(__first), std::move(__last), __pred, __iter_category);
81 partition(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred) {
83 auto __result = std::__partition<_ClassicAlgPolicy>(std::move(__first), std::move(__last), __pred, _IterCategory());