--::::::::::
--STPTENAD.ADS -- -Advanced
--::::::::::
with Stack_Pt_Cntl.Advanced;
generic
package Stack_Pt_En.Advanced is
---------------------------------------------------------------------
-- WARNING: Do not use Adv_Stk
package Adv_Stk is new Stk.Advanced;
---------------------------------------------------------------------
function Size_Of return natural;
---------------------------------------------------------------------
-- Pre Cond : None
-- Post Cond : Returns count of objects in the stack
-- Exceptions: None
---------------------------------------------------------------------
function Peek (Position: positive) return Object_Type;
---------------------------------------------------------------------
-- Pre Cond : 1 <= Position <= Size_Of (Stack)
-- 1 = top, Size_Of (Stack) = bottom
-- Post Cond : Returns Stack(Position)
-- Exceptions: Invalid_Position
---------------------------------------------------------------------
procedure Poke (Position: in positive;
Object : in out Object_Type);
---------------------------------------------------------------------
-- Pre Cond : 1 <= Position <= Size_Of (Stack)
-- 1 = top, Size_Of (Stack) = bottom
-- Post Cond : Stack(Position)' = Object
-- Exceptions: Invalid_Position
---------------------------------------------------------------------
procedure Insert (Position: in positive;
Object : in Object_Type);
---------------------------------------------------------------------
-- Pre Cond : 1 <= Position <= Size_Of (Stack)
-- Post Cond : Stack'=(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_Of (Stack)
-- Post Cond : Stack'=(a ,...,a ,a ,...,a )
-- 1 position-1 position+1 n
-- Object' = Stack(position)
-- Exceptions: Invalid_Position
---------------------------------------------------------------------
end Stack_Pt_En.Advanced;