- <
mpl::if_c<is_mutable,handle_type,void>::typepush(value_typeconst&v);
>Эффекты:Добавляет новый элемент в очередь приоритетов.
Сложность:Логарифмический (амортизированный).
- <
template<typename...Args>
mpl::if_c<is_mutable,handle_type,void>::typeemplace(Args&&...args);
>Эффекты:Добавляет новый элемент в очередь приоритетов. Элемент непосредственно построен на месте.
Сложность:Логарифмическая (амортизированная).
boolempty(void)const;
Эффекты:Возвращается верно, если очередь приоритета не содержит элементов.
Сложность:Постоянная.
- <
size_typesize(void)const;
>Эффекты:Возвращает количество элементов, содержащихся в очереди приоритетов.
Сложность:Константа, если конфигурируется с константой_time_size, иначе линейная.
- <
size_typemax_size(void)const;
>Эффекты:Возвращает максимальное количество элементов, которые может содержать очередь приоритета.
Сложность:Постоянство.
- <
voidclear(void);
>Эффекты:Удаляет все элементы из очереди приоритетов.
Сложность:Линейная.
allocator_typeget_allocator(void)const;
Эффекты:Возвращается распределитель.
Сложность:Постоянная.
voidswap(skew_heap&rhs);
Эффекты:Замена двух очередей приоритетов.
Сложность:Постоянство.
- <
const_referencetop(void)const;
>Эффекты:Возвращает ссылку на максимальный элемент.
Сложность:Константа.
voidpop(void);
Эффекты:Удалите верхний элемент из очереди приоритета.
Сложность:Логарифмическая (амортизированная).
iteratorbegin(void)const;
Эффекты:Возвращает итератор к первому элементу, содержащемуся в очереди приоритета.
Сложность:Постоянство.
- <
iteratorend(void)const;
>Эффекты:Возвращает итератор в конец очереди приоритетов.
Сложность:Констант.
ordered_iteratorordered_begin(void)const;
Эффекты:Возвращает упорядоченный итератор к первому элементу, содержащемуся в очереди приоритета.
Примечание:Заказные итераторы проходят приоритетную очередь в кучном порядке.
- <
ordered_iteratorordered_end(void)const;
>Эффекты:Возвращает заказанный итератор к первому элементу, содержащемуся в очереди приоритетов.
Примечание:Заказанные итераторы проходят приоритетную очередь в кучном порядке.
voidmerge(skew_heap&rhs);
Эффекты:Слить все элементы из rhs в это
Сложность:Логарифмический (амортизированный).
- <
value_compareconst&value_comp(void)const;
>Эффект:Возвращает значение_сравните объект, используемый в очереди приоритетов
template<typenameHeapType>booloperator<(HeapTypeconst&rhs)const;
Возврат:Элементное сравнение кучных структур данных
Требование:value_compare
объект обеих груд должен совпадать.
- <
template<typenameHeapType>booloperator>(HeapTypeconst&rhs)const;
>Возвращение:Элементное сравнение кучных структур данных
Требование:<value_compare
>объект обеих груд должен совпадать.
template<typenameHeapType>booloperator>=(HeapTypeconst&rhs)const;
Возврат:Элементное сравнение кучных структур данных
Требование:value_compare
объект обеих груд должен совпадать.
- <
template<typenameHeapType>booloperator<=(HeapTypeconst&rhs)const;
>Возврат:Элементное сравнение кучных структур данных
Требование:<value_compare
>объект обеих кучи должен совпадать.
- <
template<typenameHeapType>booloperator==(HeapTypeconst&rhs)const;
>Эквивалентное сравнениеВозвращение:Правда, если обе кучные структуры данных эквивалентны.Требование:<value_compare
>объект обеих кучи должен совпадать.
template<typenameHeapType>booloperator!=(HeapTypeconst&rhs)const;
Эквивалентное сравнениеВозврат:Правда, если обе кучи структур данных не эквивалентны.Требование:value_compare
объект обеих груд должен совпадать.
- <
voiderase(handle_typeobject);
>Эффекты:Удалите элемент, обработанный<handle
>из<priority_queue
>.
Сложность:Логарифмическая (амортизированная).
voidupdate(handle_typehandle,const_referencev);
Эффекты:Назначаетv
элемент, обрабатываемыйhandle
& обновляет очередь приоритета.
Сложность:Логарифмический (амортизированный).
voidupdate(handle_typehandle);
Эффекты:Обновляет кучу после того, как элемент, обработанныйhandle
, был изменен.
Сложность:Логарифмический (амортизированный).
Примечание:Если это не называется, после обновления ручки поведение структуры данных не определено!
voidincrease(handle_typehandle,const_referencev);
Эффекты:Назначаетv
элемент, обрабатываемыйhandle
& обновляет очередь приоритета.
Сложность:Логарифмический (амортизированный).
Примечание:Ожидается, что новое значение будет больше нынешнего
.- <
voidincrease(handle_typehandle);
>Эффекты:Обновляет кучу после того, как элемент, обработанный<handle
>, был изменен.
Сложность:Логарифмическая (амортизированная).
Примечание:Если это не называется, после обновления ручки поведение структуры данных не определено!
voiddecrease(handle_typehandle,const_referencev);
Эффекты:Назначаетv
элемент, обрабатываемыйhandle
& обновляет очередь приоритетов.
Сложность:Логарифмический (амортизированный).
Примечание:Ожидается, что новое значение будет меньше текущего
.- <
voiddecrease(handle_typehandle);
>Эффекты:Обновляет кучу после того, как элемент, обработанный<handle
>, был изменен.
Сложность:Логарифмическая (амортизированная).
Примечание:Ожидается, что новая стоимость будет меньше текущей. Если это не называется, после обновления ручки поведение структуры данных не определено!