|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 3072 (0xc00)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, generic, package S_Generic_List, seg_054702, seg_054d61
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
with List_Generic;
generic
type Element is private;
package S_Generic_List is
-- this package is herited from list_generic it had some research function
package My_List is new List_Generic (Element => Element);
type S_Iterator is private;
type S_List is private;
-- may generate garbage
-- = and := operate on references
-- "make" constructs lists with structural sharing
-- constraint error is raised when nil i provided to any of
-- first, rest, set_first, or set_rest
function Make (X : Element; L : S_List) return S_List;
function Nil return S_List;
function Is_Empty (L : S_List) return Boolean;
procedure Free (L : in out S_List);
-- make L empty
function First (L : S_List) return Element;
function Rest (L : S_List) return S_List;
procedure Set_Rest (L : S_List; To_Be : S_List);
procedure Set_First (L : S_List; To_Be : Element);
function Length (L : S_List) return Natural;
procedure Init (Iter : out S_Iterator; L : S_List);
procedure Next (Iter : in out S_Iterator);
function Value (Iter : S_Iterator) return Element;
function Done (Iter : S_Iterator) return Boolean;
-- if the element wanted is in the list the return true.
function Is_In (Wanted_Elem : Element; L : S_List) return Boolean;
-- replace the specified element with the after_element (so you have to verify if it's in)
procedure Modify (Element_To_Modify, Element_After : Element;
L : in out S_List);
--put the specified element to the first place (because of the rest function)
procedure Put_First (X : Element; L : in out S_List);
procedure Remove (X : Element; L : in out S_List);
private
type S_Iterator is new My_List.Iterator;
type S_List is new My_List.List;
end S_Generic_List;
nblk1=2
nid=0
hdr6=4
[0x00] rec0=1e rec1=00 rec2=01 rec3=03e
[0x01] rec0=18 rec1=00 rec2=02 rec3=000
tail 0x2175d859e87b884ff22c5 0x42a00088462060003