Object |
Abort_Queue | |
Available | |
Current_Use | |
Dequeue | |
Enqueue | |
Finish | |
Has_Finished | |
Is_Empty | |
Is_Finishing | |
Wait_Finished |
64 | type Object is limited interface; |
---|
142 | procedure Abort_Queue (This : in out Object) is abstract with |
---|---|
143 | Post'Class => (This.Is_Finishing and then This.Is_Empty); |
Abort queue. For example because of an error condition
object itself.
115 | function Available (This : Object) return Ada.Containers.Count_Type is abstract; |
---|
Free entries available in Object.
object itself.
free slots in queue
84 | function Current_Use (This : Object) return Ada.Containers.Count_Type is abstract with |
---|---|
85 | Inline; |
Queue slots currently in use
object itself.
elements in queue
132 | procedure Dequeue |
---|---|
133 | (This : in out Object; |
134 | Element : out Element_Type; |
135 | EmptyAndFinished : out Boolean) is abstract with |
136 | Post'Class => (if EmptyAndFinished then Element = Null_Element); |
Remove element from the Object. Blocks when queue is empty and not finished. When queue is finished and is empty returns then Null_Element.
object itself.
Element ot be removed.
Object is emptys and finshed. Depending on timing you might or might not get a last Dequeue with this flag beeing true.
122 | procedure Enqueue (This : in out Object; New_Item : in Element_Type) is abstract; |
---|
Add a new element to the Object. Blocks when queue is full.
object itself.
Element ot be added.
70 | procedure Finish (This : in out Object) is abstract; |
---|
The last element has been added, clear queue and finish processing.
object itself.
100 | function Has_Finished (This : in Object) return Boolean is abstract with |
---|---|
101 | Post'Class => Has_Finished'Result = (This.Is_Finishing and then This.Is_Empty); |
The last element has been removed after the queue been signaled to finsh.
object itself.
true if the queue has finished processing elements.
92 | function Is_Empty (This : Object) return Boolean is abstract with |
---|---|
93 | Post'Class => Is_Empty'Result = (This.Current_Use = 0); |
Queue is currently empty.
object itself.
true when no elements are in queue.
77 | function Is_Finishing (This : in Object) return Boolean is abstract; |
---|
The queue is finishing. No new entries are allowed.
object itself.
true if the queue has been signaled to finsh or has finished
107 | procedure Wait_Finished (This : in out Object) is abstract with |
---|---|
108 | Post'Class => (This.Is_Finishing and then This.Is_Empty); |
Wait for queue to finish
object itself.