Home | History | Annotate | Download | only in bits

Lines Matching full:__last

117     __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
118 { return std::__is_heap(__first, std::distance(__first, __last)); }
122 __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
124 { return std::__is_heap(__first, __comp, std::distance(__first, __last)); }
147 * @param __last End of heap + element.
151 * over the range [__first,__last-1). After completion,
152 * [__first,__last) is a valid heap.
156 push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
167 __glibcxx_requires_valid_range(__first, __last);
168 __glibcxx_requires_heap(__first, __last - 1);
170 _ValueType __value = _GLIBCXX_MOVE(*(__last - 1));
171 std::__push_heap(__first, _DistanceType((__last - __first) - 1),
195 * @param __last End of heap + element.
199 * This operation pushes the element at __last-1 onto the valid
200 * heap over the range [__first,__last-1). After completion,
201 * [__first,__last) is a valid heap. Compare operations are
206 push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
217 __glibcxx_requires_valid_range(__first, __last);
218 __glibcxx_requires_heap_pred(__first, __last - 1, __comp);
220 _ValueType __value = _GLIBCXX_MOVE(*(__last - 1));
221 std::__push_heap(__first, _DistanceType((__last - __first) - 1),
253 __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
264 _DistanceType(__last - __first),
271 * @param __last End of heap.
272 * @pre [__first, __last) is a valid, non-empty range.
276 * and __last-1 are swapped and [__first,__last-1) is made into a
281 pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
290 __glibcxx_requires_non_empty_range(__first, __last);
291 __glibcxx_requires_valid_range(__first, __last);
292 __glibcxx_requires_heap(__first, __last);
294 if (__last - __first > 1)
296 --__last;
297 std::__pop_heap(__first, __last, __last);
331 __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
342 _DistanceType(__last - __first),
349 * @param __last End of heap.
354 * and __last-1 are swapped and [__first,__last-1) is made into a
360 _RandomAccessIterator __last, _Compare __comp)
365 __glibcxx_requires_valid_range(__first, __last);
366 __glibcxx_requires_non_empty_range(__first, __last);
367 __glibcxx_requires_heap_pred(__first, __last, __comp);
369 if (__last - __first > 1)
371 --__last;
372 std::__pop_heap(__first, __last, __last, __comp);
379 * @param __last End of heap.
382 * This operation makes the elements in [__first,__last) into a heap.
386 make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
397 __glibcxx_requires_valid_range(__first, __last);
399 if (__last - __first < 2)
402 const _DistanceType __len = __last - __first;
417 * @param __last End of heap.
421 * This operation makes the elements in [__first,__last) into a heap.
426 make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
437 __glibcxx_requires_valid_range(__first, __last);
439 if (__last - __first < 2)
442 const _DistanceType __len = __last - __first;
458 * @param __last End of heap.
461 * This operation sorts the valid heap in the range [__first,__last).
465 sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
472 __glibcxx_requires_valid_range(__first, __last);
473 __glibcxx_requires_heap(__first, __last);
475 while (__last - __first > 1)
477 --__last;
478 std::__pop_heap(__first, __last, __last);
485 * @param __last End of heap.
489 * This operation sorts the valid heap in the range [__first,__last).
494 sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
500 __glibcxx_requires_valid_range(__first, __last);
501 __glibcxx_requires_heap_pred(__first, __last, __comp);
503 while (__last - __first > 1)
505 --__last;
506 std::__pop_heap(__first, __last, __last, __comp);
514 * @param __last End of range.
518 * This operation returns the last iterator i in [__first, __last) for which
523 is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last)
530 __glibcxx_requires_valid_range(__first, __last);
533 __last));
539 * @param __last End of range.
544 * This operation returns the last iterator i in [__first, __last) for which
549 is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last,
555 __glibcxx_requires_valid_range(__first, __last);
558 __last),
565 * @param __last End of range.
571 is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
572 { return std::is_heap_until(__first, __last) == __last; }
577 * @param __last End of range.
584 is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
586 { return std::is_heap_until(__first, __last, __comp) == __last; }