is_heap_until
Возвращает итератор, расположенный в первом элементе диапазона [begin, end), который не удовлетворяет условию упорядочения кучи, или end, если диапазон образует кучу.
template<class RandomAccessIterator> RandomAccessIterator is_heap_until( RandomAccessIterator begin, RandomAccessIterator end ); template<class RandomAccessIterator, class BinaryPredicate> RandomAccessIterator is_heap_until( RandomAccessIterator begin, RandomAccessIterator end, BinaryPredicate compare );
Параметры
begin
Итератор произвольного доступа, который задает первый элемент диапазона для проверки кучи.end
Итератор произвольного доступа, который задает конец диапазона для проверки кучи.compare
Двухместный предикат, который задает условие строгого слабого упорядочения, определяющее кучу. Предикат по умолчанию, если параметр compare не указан, — std::less<>.
Возвращаемое значение
Возвращает end, если указанный диапазон формирует кучу или содержит один элемент либо менее. В противном случае возвращает итератор для первого найденного элемента, который не удовлетворяет условию кучи.
Заметки
Первая функция-шаблон возвращает последний итератор next в [begin, end], где [begin, next) — это куча, упорядоченная по объекту функции std::less<>. Если расстояние end - begin < 2, функция возвращает end.
Вторая функция-шаблон работает так же, как первая, но использует в качестве условия упорядочения кучи предикат compare вместо std::less<>.
Требования
Заголовок: <algorithm>
Пространство имен: std