|
|
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: 4096 (0x1000)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Element_Usage_Table, seg_0046c6
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
package body Element_Usage_Table is
procedure Initialize (The_Table : in out Table) is
begin
Element_Map.Initialize (Element_Map.Map (The_Table));
end Initialize;
procedure Add (The_Element : Element;
To : in out Table) is
begin
Element_Map.Define (The_Map => Element_Map.Map (To),
D => The_Element,
R => False,
Trap_Multiples => False);
end Add;
procedure Reset (The_Table : in out Table) is
Iter : Element_Map.Iterator;
begin
Element_Map.Init (Iter, Element_Map.Map (The_Table));
while not Element_Map.Done (Iter) loop
Element_Map.Define (The_Map => Element_Map.Map (The_Table),
D => Element_Map.Value (Iter),
R => False,
Trap_Multiples => False);
Element_Map.Next (Iter);
end loop;
end Reset;
procedure Mark_As_Used (An_Element : Element; In_Table : in out Table) is
begin
Element_Map.Define (The_Map => Element_Map.Map (In_Table),
D => An_Element,
R => True,
Trap_Multiples => False);
exception
when Element_Map.Undefined =>
raise Element_Not_Found;
end Mark_As_Used;
function Is_Used (An_Element : Element;
In_Table : Table) return Boolean is
begin
return Element_Map.Eval
(The_Map => Element_Map.Map (In_Table), D => An_Element);
exception
when Element_Map.Undefined =>
raise Element_Not_Found;
end Is_Used;
function All_Used (In_Table : Table) return Boolean is
Iter : Element_Map.Iterator;
begin
Element_Map.Init (Iter, Element_Map.Map (In_Table));
while not Element_Map.Done (Iter) loop
if not Element_Map.Eval (The_Map => Element_Map.Map (In_Table),
D => Element_Map.Value (Iter)) then
return False;
end if;
Element_Map.Next (Iter);
end loop;
return True;
end All_Used;
function Done (Iter : Iterator) return Boolean is
begin
return Element_Map.Done (Element_Map.Iterator (Iter));
end Done;
function Value (Iter : Iterator) return Element is
begin
return Element_Map.Value (Element_Map.Iterator (Iter));
end Value;
procedure Next (Iter : in out Iterator) is
begin
Element_Map.Next (Element_Map.Iterator (Iter));
end Next;
end Element_Usage_Table;
nblk1=3
nid=0
hdr6=6
[0x00] rec0=1a rec1=00 rec2=01 rec3=008
[0x01] rec0=1c rec1=00 rec2=02 rec3=00e
[0x02] rec0=1f rec1=00 rec2=03 rec3=000
tail 0x217002a10815c670581c1 0x42a00088462061e03