Ada Programming/Libraries/Ada.Containers.Bounded Priority Queues


Ada. Time-tested, safe and secure.
Ada. Time-tested, safe and secure.

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%20Queues

Specification

--                     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_Interfaces is 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_Priority is private;
   with function Get_Priority
     (Element : Queue_Interfaces.Category:Book:Ada Programming/Pages containing deprecated templatesElement_Type) return Queue_Priority is <>Category:Book:Ada Programming/Pages containing deprecated templates;
   with function Before
     (Left, Right : Queue_Priority) return Boolean is <>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_Queues is
   pragma Preelaborate(Bounded_Priority_Queues);

   package Implementation is
       --  not specified by the language
   end 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 Ceiling is
      new Queue_Interfaces.Category:Book:Ada Programming/Pages containing deprecated templatesQueue with

      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_Use return Count_Type;
      overriding
      function Peak_Use return Count_Type;

   private
       --  not specified by the language
   end Queue;

private

    --  not specified by the language

end Ada.Category:Book:Ada Programming/Pages containing deprecated templatesContainers.Category:Book:Ada Programming/Pages containing deprecated templatesBounded_Priority_Queues;

See also

Wikibook

External examples

Ada Reference Manual

Ada 2012

Open-Source Implementations

FSF GNAT

Category:Book:Ada Programming#Libraries/Ada.Containers.Bounded%20Priority%20Queues%20
Category:Book:Ada Programming Category:Book:Ada Programming/Ada 2012 feature Category:Book:Ada Programming/Pages containing deprecated templates Category:Book:Ada Programming/Unfinished module