--::::::::::
--quPTENAD.ADS -- -Advanced
--::::::::::
with Queue_Pt_Cntl.Advanced;
generic
package Queue_Pt_En.Advanced is
---------------------------------------------
-- DO NOT USE adv_que
package adv_que is new que.Advanced;
---------------------------------------------
function Size return natural;
---------------------------------------------
-- Pre Cond : None
-- Post Cond : Returns #(Queue)
-- Exceptions : None
---------------------------------------------
procedure Insert (Object : in Object_Type;
Position: in positive);
---------------------------------------------
-- Pre Cond : 1 <= Position <= Size (Queue)
-- Post Cond : Queue'=(a ,...,a ,Object,a ,...,a )
-- 1 position-1 position n
-- Exceptions: Invalid_Position
---------------------------------------------
procedure Remove (Position: in positive;
Object : out Object_Type);
---------------------------------------------
-- Pre Cond : 1 <= Position <= Size (Queue)
-- Post Cond : Queue'=(a ,...,a ,a ,...,a )
-- 1 position-1 position+1 n
-- Object' = Queue(position)
-- Exceptions: Invalid_Position
---------------------------------------------
function Peek (Position: in positive) return Object_Type;
---------------------------------------------
-- Pre Cond : 1 <= Position <= #(Queue)
-- 1 = Front, #(Queue) = Rear
-- Post Cond : Returns Queue(Position)
-- Exceptions : Invalid_Position
---------------------------------------------
procedure Poke (Position: in positive;
Object : in Object_Type);
---------------------------------------------
-- Pre Cond : 1 <= Position <= #(Queue)
-- 1 = Front, #(Queue) = Rear
-- Post Cond : Object' = Queue(Position)
-- Exceptions : Invalid_Position
---------------------------------------------
end Queue_Pt_En.Advanced;