diff options
Diffstat (limited to 'gcc/ada/a-cuprqu.ads')
-rw-r--r-- | gcc/ada/a-cuprqu.ads | 55 |
1 files changed, 30 insertions, 25 deletions
diff --git a/gcc/ada/a-cuprqu.ads b/gcc/ada/a-cuprqu.ads index d31c8824458..3709f42aa29 100644 --- a/gcc/ada/a-cuprqu.ads +++ b/gcc/ada/a-cuprqu.ads @@ -52,11 +52,11 @@ generic package Ada.Containers.Unbounded_Priority_Queues is pragma Preelaborate; - -- All identifiers in this unit are implementation defined + package Implementation is - pragma Implementation_Defined; + -- All identifiers in this unit are implementation defined - package Implementation is + pragma Implementation_Defined; type List_Type is tagged limited private; @@ -68,6 +68,12 @@ package Ada.Containers.Unbounded_Priority_Queues is (List : in out List_Type; Element : out Queue_Interfaces.Element_Type); + procedure Dequeue + (List : in out List_Type; + At_Least : Queue_Priority; + Element : in out Queue_Interfaces.Element_Type; + Success : out Boolean); + function Length (List : List_Type) return Count_Type; function Max_Length (List : List_Type) return Count_Type; @@ -91,36 +97,35 @@ package Ada.Containers.Unbounded_Priority_Queues is overriding procedure Finalize (List : in out List_Type); - -- ??? - -- not overriding - -- function Have_High_Priority - -- (List : List_Type; - -- Low_Priority : Queue_Priority) return Boolean; - end Implementation; protected type Queue (Ceiling : System.Any_Priority := Default_Ceiling) - -- ??? - -- with Priority => Ceiling is new Queue_Interfaces.Queue with - is new Queue_Interfaces.Queue with + with Priority => Ceiling is new Queue_Interfaces.Queue with - overriding - entry Enqueue (New_Item : Queue_Interfaces.Element_Type); + overriding + entry Enqueue (New_Item : Queue_Interfaces.Element_Type); - overriding - entry Dequeue (Element : out Queue_Interfaces.Element_Type); + overriding + entry Dequeue (Element : out Queue_Interfaces.Element_Type); - -- ??? - -- not overriding - -- entry Dequeue_Only_High_Priority - -- (Low_Priority : Queue_Priority; - -- Element : out Queue_Interfaces.Element_Type); + -- The priority queue operation Dequeue_Only_High_Priority had been a + -- protected entry in early drafts of AI05-0159, but it was discovered + -- that that operation as specified was not in fact implementable. The + -- operation was changed from an entry to a protected procedure per the + -- ARG meeting in Edinburgh (June 2011), with a different signature and + -- semantics. - overriding - function Current_Use return Count_Type; + not overriding + procedure Dequeue_Only_High_Priority + (At_Least : Queue_Priority; + Element : in out Queue_Interfaces.Element_Type; + Success : out Boolean); - overriding - function Peak_Use return Count_Type; + overriding + function Current_Use return Count_Type; + + overriding + function Peak_Use return Count_Type; private |