Ada Programming/Libraries/Ada.Containers.Bounded Priority Queues
This language feature has been introduced in Ada 2012.Category:Book:Ada Programming/Ada 2012 feature#Ada.Containers.Bounded Priority Queues Ada.Containers.Bounded_Priority_Queues is a unit of the Predefined Language Environment since Ada 2012.
Category:Book:Ada Programming/Unfinished module#Ada.Containers.Bounded%20Priority%20QueuesSpecification
-- Standard Ada library specification -- Copyright (c) 2004-2016 AXE Consultants -- Copyright (c) 2004, 2005, 2006 Ada-Europe -- Copyright (c) 2000 The MITRE Corporation, Inc. -- Copyright (c) 1992, 1993, 1994, 1995 Intermetrics, Inc. -- SPDX-License-Identifier: BSD-3-Clause and LicenseRef-AdaReferenceManual -- -------------------------------------------------------------------------with
System;with
Ada.Containers.Synchronized_Queue_Interfaces;generic
with
package
Queue_Interfacesis
new
Ada.Category:Book:Ada Programming/Pages containing deprecated templatesContainers.Category:Book:Ada Programming/Pages containing deprecated templatesSynchronized_Queue_Interfaces (<>Category:Book:Ada Programming/Pages containing deprecated templates);type
Queue_Priorityis
private
;with
function
Get_Priority (Element : Queue_Interfaces.Category:Book:Ada Programming/Pages containing deprecated templatesElement_Type)return
Queue_Priorityis
<>Category:Book:Ada Programming/Pages containing deprecated templates;with
function
Before (Left, Right : Queue_Priority)return
Booleanis
<>Category:Book:Ada Programming/Pages containing deprecated templates; Default_Capacity : Count_Type; Default_Ceiling : System.Category:Book:Ada Programming/Pages containing deprecated templatesAny_Priority := System.Category:Book:Ada Programming/Pages containing deprecated templatesPriority'Last;package
Ada.Containers.Bounded_Priority_Queuesis
pragma
Preelaborate(Bounded_Priority_Queues);package
Implementationis
-- not specified by the languageend
Implementation;protected
type
Queue (Capacity : Count_Type := Default_Capacity; Ceiling : System.Category:Book:Ada Programming/Pages containing deprecated templatesAny_Priority := Default_Ceiling)with
Priority =>Category:Book:Ada Programming/Pages containing deprecated templates Ceilingis
new
Queue_Interfaces.Category:Book:Ada Programming/Pages containing deprecated templatesQueuewith
overriding
entry
Enqueue (New_Item :in
Queue_Interfaces.Category:Book:Ada Programming/Pages containing deprecated templatesElement_Type);overriding
entry
Dequeue (Element :out
Queue_Interfaces.Category:Book:Ada Programming/Pages containing deprecated templatesElement_Type);not
overriding
procedure
Dequeue_Only_High_Priority (At_Least :in
Queue_Priority; Element :in
out
Queue_Interfaces.Category:Book:Ada Programming/Pages containing deprecated templatesElement_Type; Success :out
Boolean);overriding
function
Current_Usereturn
Count_Type;overriding
function
Peak_Usereturn
Count_Type;private
-- not specified by the languageend
Queue;private
-- not specified by the languageend
Ada.Category:Book:Ada Programming/Pages containing deprecated templatesContainers.Category:Book:Ada Programming/Pages containing deprecated templatesBounded_Priority_Queues;
See also
Wikibook
External examples
- Search for examples of
Ada.Containers.Bounded_Priority_Queues
in: Rosetta Code, GitHub (gists), any Alire crate or this Wikibook. - Search for posts related to
Ada.Containers.Bounded_Priority_Queues
in: Stack Overflow, comp.lang.ada or any Ada related page.
Ada Reference Manual
Ada 2012
Open-Source Implementations
FSF GNAT
- Specification: a-cbprqu.ads
- Body: a-cbprqu.adb