--:::::::::: --lplpenad.ads -- -Advanced --:::::::::: with List_Pos_Lpt_Cntl.Advanced; generic package List_Pos_Lpt_En.Advanced is ---------------------------------------------- -- DO NOT USE adv_zqklst package adv_zqklst is new zqklst.Advanced; ---------------------------------------------- function Size_Of return integer; ---------------------------------------------- -- Pre Cond : None -- Post Cond: returns the number of objects in the list -- Exception: None ---------------------------------------------- procedure Insert (Object : in out Object_Type; Position: in positive); ---------------------------------------------- -- Pre Cond : 1 <= Position <= Size_Of (List) -- Post Cond : List'=(a ,...,a ,Object,a ,...,a ) -- 1 position-1 position n -- Exceptions: constraint_error -- NOTE: Swap used to exchange value of Object_Type ---------------------------------------------- procedure Remove (Position: in positive; Object : in out Object_Type); ---------------------------------------------- -- Pre Cond : 1 <= Position <= Size_Of (List) -- Post Cond : List'=(a ,...,a ,a ,...,a ) -- 1 position-1 position+1 n -- Object' = List(position) -- Exceptions: constraint_error -- NOTE: Swap used to exchange value of Object_Type ---------------------------------------------- function Peek (Index: positive) return Object_Type; ---------------------------------------------- -- Pre Cond : List /= {}, 1 <= Index <= #(List) -- Post Cond: Returns List(Index) -- Exception: List_Underflow or constraint_error ---------------------------------------------- procedure Poke (Index : in positive; Object: in out Object_Type); ---------------------------------------------- -- Pre Cond : 1 <= Index <= #(List) -- Post Cond: List(Index)' = Object -- Exception: constraint_error -- NOTE: Swap used to exchange value of Object_Type ---------------------------------------------- end List_Pos_Lpt_En.Advanced;