File : queue_pack_object.adb
package body Queue_Pack_Object is
procedure Enqueue (Item: in Element; Queue: in out Ext_Queue_Type) is
begin
Enqueue (Item, Queue_Type (Queue));
Queue.Reader_State := Filled;
end Enqueue;
procedure Read_Queue (Item: out Element; Queue: in out Ext_Queue_Type) is
begin
if Queue.Reader_State = Empty then
raise Queueunderflow;
end if;
Item := Queue.Elements (Queue.Reader);
Queue.Reader := Queue.Reader - 1;
if Queue.Reader = Queue.Free then Queue.Reader_State := Empty; end if;
end Read_Queue;
end Queue_Pack_Object;