-- Code of Queues user of pages 392-393 from
-- Kenneth C. Louden, Programming Languages
-- Principles and Practice 2nd Edition
-- Copyright (C) Brooks-Cole/ITP, 2003
-- (Opaque static queue)

with Ada.Text_IO; use Ada.Text_IO;
with Ada.Integer_Text_IO;
use Ada.Integer_Text_IO;
with Queues2;

procedure Quser2 is

package Queue1 is new Queues2(Integer);
package Queue2 is new Queues2(Integer);

begin
  Queue1.enqueue(3);
  Queue1.enqueue(4);
  Queue2.enqueue(1);
  Queue2.enqueue(2);
  put(Queue1.frontq); -- prints 3
  new_line;
  Queue2.dequeue;
  put(Queue2.frontq); -- prints 2
  new_line;
end Quser2;
