1. -- 
  2. -- Uwe R. Zimmer, Australia, 2013 
  3. -- 
  4.  
  5. package body Queue_Pack_Simple is 
  6.  
  7.    procedure Enqueue (Item : Element; Queue : in out Queue_Type) is 
  8.  
  9.    begin 
  10.       Queue.Elements (Queue.Free) := Item; 
  11.       Queue.Free                  := Queue.Free + 1; 
  12.       Queue.Is_Empty              := False; 
  13.    end Enqueue; 
  14.  
  15.    procedure Dequeue (Item : out Element; Queue : in out Queue_Type) is 
  16.  
  17.    begin 
  18.       Item           := Queue.Elements (Queue.Top); 
  19.       Queue.Top      := Queue.Top + 1; 
  20.       Queue.Is_Empty := Queue.Top = Queue.Free; 
  21.    end Dequeue; 
  22.  
  23. end Queue_Pack_Simple;