Spec-Zone.ru › Ada 2012
Справочник Ada 2012

A.18.31 Общий пакет Containers.Bounded_Priority_Queues

Статическая семантика

Определяемый языком общий пакет Containers.Bounded_Priority_Queues предоставляет тип Queue, который реализует интерфейсный тип Containers.Synchronized_Queue_Interfaces.Queue.
с System;
с Ada.Containers.Synchronized_Queue_Interfaces;
generic
с пакетом Queue_Interfaces is new Ada.Containers.Synchronized_Queue_Interfaces (<>);
тип Queue_Priority is private;
с функцией Get_Priority
(Element : Queue_Interfaces.Element_Type) return Queue_Priority is <>;
с функцией Before
(Left, Right : Queue_Priority) return Boolean is <>;
Default_Capacity : Count_Type;
Default_Ceiling : System.Any_Priority := System.Priority'Last;
пакет Ada.Containers.Bounded_Priority_Queues is
pragma Preelaborate(Bounded_Priority_Queues);
пакет Implementation is
... -- не задано языком
end Implementation;
защищенный тип Queue
(Capacity : Count_Type := Default_Capacity;
Ceiling : System.Any_Priority := Default_Ceiling)
с Priority => Ceiling is
new Queue_Interfaces.Queue с
переопределяя
вход Enqueue (New_Item : in Queue_Interfaces.Element_Type);
переопределяя
вход Dequeue (Element : out Queue_Interfaces.Element_Type);
не переопределяя
процедура Dequeue_Only_High_Priority
(At_Least : in Queue_Priority;
Element : in out Queue_Interfaces.Element_Type;
Success : out Boolean);
переопределяя
функция Current_Use return Count_Type;
переопределяя
функция Peak_Use return Count_Type;
private
... -- не задано языком
end Queue;
private
... -- не задано языком
end Ada.Containers.Bounded_Priority_Queues;
Семантика совпадает с семантикой Unbounded_Priority_Queues, за исключением:
  • Емкость экземпляров типа Queue ограничена и задается дискриминантом Capacity.

Рекомендации по реализации

Объекты ограниченных очередей с приоритетом должны быть реализованы без неявных указателей или динамического выделения памяти.


Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API