Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Class template priority_queue

Boost , The Boost C++ Libraries BoostBook Documentation Subset , Reference

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Class template priority_queue

boost::heap::priority_queue — priority queue, based on stl heap functions

Synopsis

// In header: <boost/heap/priority_queue.hpp>
template<typename T, class... Options> 
class priority_queue {
public:
  // types
  typedef T                                       value_type;     
  typedef implementation_defined::size_type       size_type;      
  typedef implementation_defined::difference_type difference_type;
  typedef implementation_defined::value_compare   value_compare;  
  typedef implementation_defined::allocator_type  allocator_type; 
  typedef implementation_defined::reference       reference;      
  typedef implementation_defined::const_reference const_reference;
  typedef implementation_defined::pointer         pointer;        
  typedef implementation_defined::const_pointer   const_pointer;  
  typedef implementation_defined::iterator        iterator;       
  typedef implementation_defined::const_iterator  const_iterator; 
  // construct/copy/destruct
  explicit priority_queue(value_compare const & = value_compare());
  priority_queue(priority_queue const &);
  priority_queue(priority_queue &&) noexcept(boost::is_nothrow_move_constructible< super_t >::value));
  priority_queue & 
  operator=(priority_queue &&) noexcept(boost::is_nothrow_move_assignable< super_t >::value));
  priority_queue & operator=(priority_queue const &);
  // public member functions
  bool empty(void) const noexcept;
  size_type size(void) const noexcept;
  size_type max_size(void) const noexcept;
  void clear(void) noexcept;
  allocator_type get_allocator(void) const;
  const_reference top(void) const;
  void push(value_type const &);
  template<class... Args> void emplace(Args &&...);
  void pop(void);
  void swap(priority_queue &) noexcept(boost::is_nothrow_move_constructible< super_t >::value &&boost::is_nothrow_move_assignable< super_t >::value));
  iterator begin(void) const noexcept;
  iterator end(void) const noexcept;
  void reserve(size_type);
  value_compare const & value_comp(void) const;
  template<typename HeapType> bool operator<(HeapType const &) const;
  template<typename HeapType> bool operator>(HeapType const &) const;
  template<typename HeapType> bool operator>=(HeapType const &) const;
  template<typename HeapType> bool operator<=(HeapType const &) const;
  template<typename HeapType> bool operator==(HeapType const &) const;
  template<typename HeapType> bool operator!=(HeapType const &) const;
  // public data members
  static const bool constant_time_size;
  static const bool has_ordered_iterators;
  static const bool is_mergable;
  static const bool is_stable;
  static const bool has_reserve;
};

Description

Приоритет_очередькласс является оберткой для функций стержневой кучи.
Параметр шаблона T — тип, которым должен управлять контейнер. Пользователь может указать дополнительные опции и, если опции не предусмотрены, используются опции по умолчанию.

Контейнер поддерживает следующие варианты:

  • boost::heap::compare<>, по умолчаниюсравните>

  • повысить::heap::stable<>, по умолчанию доstable

  • boost::heap::stability_counter_type<>, по умолчаниюstability_counter_type

  • boost::heap::allocator<>, defaults toallocator>

priority_queue public types

  1. TypedefРеализация_определяется:Итераторитератор;

    Примечание:Итератор не пересекает очередь приоритетов в порядке приоритетов.

priority_queue public construct/copy/destruct

  1. explicitpriority_queue(value_compareconst&cmp=value_compare());

    Эффекты:строит пустую очередь приоритета.

    Сложность:Постоянная.

  2. Priority_queuePriority_queueconst&rhs;

    Эффекты:копирование-конструирование приоритетной очереди из rhs.

    Сложность:Линейный.

  3. priority_queue(priority_queue&&rhs)noexcept(boost::is_nothrow_move_constructible<super_t>::value));

    Эффекты:Конструктор движений в стиле C++11.

    Сложность:Постоянство.

    Примечание:Доступно только при наличии BOOST_NO_CXX11_RVALUE_REFERENCES Не определено

    .
  4. priority_queue&
    operator=(priority_queue&&rhs)noexcept(boost::is_nothrow_move_assignable<super_t>::value));

    Эффекты:С++ 11-стильное перемещение.

    Сложность:Постоянная.

    Примечание:Доступно только при наличии BOOST_NO_CXX11_RVALUE_REFERENCES Не определено

  5. Priority_queue&operator=Priority_queueconst&rhs;

    Эффекты:Назначает приоритетную очередь из rhs.

    Сложность:Линейная.

priority_queue public member functions

  1. boolemptyvoidconstno except;

    Эффекты:Возвращается верно, если очередь приоритета не содержит элементов.

    Сложность:Постоянная.

  2. size_typesize(void)constnoexcept;

    Эффекты:Возвращает количество элементов, содержащихся в очереди приоритетов.

    Сложность:Постоянная.

  3. size_typemax_size(void)constnoexcept;

    Эффекты:Возвращает максимальное количество элементов, которые может содержать очередь приоритета.

    Сложность:Постоянство.

  4. voidclear(void)noexcept;

    Эффекты:Удаляет все элементы из очереди приоритетов.

    Сложность:Линейность.

  5. allocator_typeget_allocator(void)const;

    Эффекты:Возвращает распределитель.

    Сложность:Постоянство.

  6. const_referencetopvoidconst;

    Эффекты:Возвращает ссылку на максимальный элемент.

    Сложность:Постоянство.

  7. voidpushvalue_typeconst&v];

    Эффекты:Добавляет новый элемент в очередь приоритетов.

    Сложность:Логарифмический (амортизированный). Линейный (наихудший случай).

  8. template<class...Args>voidemplace(Args&&...args);

    Эффекты:Добавляет новый элемент в очередь приоритетов. Элемент непосредственно построен на месте.

    Сложность:Логарифмическая (амортизированная). Линейный (наихудший случай).

  9. voidpopvoid;

    Эффекты:Удалите верхний элемент из очереди приоритета.

    Сложность:Логарифмический (амортизированный). Линейный (наихудший случай).

  10. voidswappriority_queue&rhs]boost::is_nothrow_move_constructible<super_t>::значение.&&boost::is_nothrow_move_assignable<super_t>::значение];

    Эффекты:Заменяет две приоритетные очереди.

    Сложность:Константа.

  11. iteratorbegin(void)constnoexcept;

    Эффекты:Возвращает итератор к первому элементу, содержащемуся в очереди приоритетов.

    Сложность:Константа.

  12. итераторконецпустотаконстне исключение;

    Эффекты:Возвращает итератор в конец очереди приоритетов.

    Сложность:Постоянная.

  13. voidreserve(size_typeelement_count);

    Эффекты:Запасы памяти для элементов_счета

    Сложность:Линейность.

    Узел:Недействительные итераторы

  14. значение_сравнитеconst&значение_compvoid]const;

    Эффект:Возвращает значение_сравните объект, используемый в очереди приоритетов

  15. template<typenameHeapType>booloperator<(HeapTypeconst&rhs)const;

    Возвращение:Элементное сравнение кучных структур данных

    Требование:value_compareобъект обеих груд должен совпадать.

  16. шаблон<имя типаHeapType>boolоператор>HeapTypeconstconst;

    Возвращение:Элементное сравнение кучных структур данных

    Требование:значение_сравнитьобъект обеих кучи должны соответствовать.

  17. шаблон<имя типаHeapType>boolоператор>=HeapTypeconst&const;
    Возврат:Элементное сравнение кучных структур данных

    Требование:значение_сравнитьобъект обеих кучи должны соответствовать.

  18. template<typenameHeapType>booloperator<=(HeapTypeconst&rhs)const;

    Возврат:Элементное сравнение структур данных

    Требование:value_compareобъект обеих груд должен совпадать.

  19. шаблон<имя типаHeapType>boolоператор==HeapTypeconst&const;
    Эквивалентное сравнениеВозвращение:Правда, если обе кучные структуры данных эквивалентны.

    Требование:значение_сравнитьобъект обеих кучи должны соответствовать.

  20. template<typenameHeapType>booloperator!=(HeapTypeconst&rhs)const;
    Эквивалентное сравнениеВозвращение:Правда, если обе кучи структур данных не эквивалентны.

    Требование:value_compareобъект обеих кучи должен совпадать.


PrevUpHomeNext

Статья Class template priority_queue раздела The Boost C++ Libraries BoostBook Documentation Subset Reference может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Reference ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-07-05 00:12:01/0.0053040981292725/0