Ada Programming/Libraries/Ada.Containers.Unbounded_Priority_Queues
This language feature has been introduced in Ada 2012.
Ada.Containers.Unbounded_Priority_Queues is a unit of the Predefined Language Environment since Ada 2012.
Specification
edit-- 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.Containers.Synchronized_Queue_Interfaces (<>);type
Queue_Priorityis
private
;with
function
Get_Priority (Element : Queue_Interfaces.Element_Type)return
Queue_Priorityis
<>;with
function
Before (Left, Right : Queue_Priority)return
Booleanis
<>; Default_Ceiling : System.Any_Priority := System.Priority'Last;package
Ada.Containers.Unbounded_Priority_Queuesis
pragma
Preelaborate(Unbounded_Priority_Queues);package
Implementationis
-- not specified by the languageend
Implementation;protected
type
Queue (Ceiling : System.Any_Priority := Default_Ceiling)with
Priority => Ceilingis
new
Queue_Interfaces.Queuewith
overriding
entry
Enqueue (New_Item :in
Queue_Interfaces.Element_Type);overriding
entry
Dequeue (Element :out
Queue_Interfaces.Element_Type);not
overriding
procedure
Dequeue_Only_High_Priority (At_Least :in
Queue_Priority; Element :in
out
Queue_Interfaces.Element_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.Containers.Unbounded_Priority_Queues;
See also
editWikibook
editExternal examples
edit- Search for examples of
Ada.Containers.Unbounded_Priority_Queues
in: Rosetta Code, GitHub (gists), any Alire crate or this Wikibook. - Search for posts related to
Ada.Containers.Unbounded_Priority_Queues
in: Stack Overflow, comp.lang.ada or any Ada related page.
Ada Reference Manual
editAda 2012
editOpen-Source Implementations
editFSF GNAT
- Specification: a-cuprqu.ads
- Body: a-cuprqu.adb
drake
- Specification: tasking/a-cuprqu.ads
- Body: tasking/a-cuprqu.adb