|
|
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: 6144 (0x1800)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Group_Array, seg_04619f
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
with Text_Io, Group, Generic_String_Sort_Array;
package body Group_Array is
package G_Array is new Generic_String_Sort_Array
(Element => Group.Object,
Max_Element_Number => 200,
Null_Element => Group.Null_Object,
Get_Key => Group.Name,
Show_Element => Group.Show);
The_Array : G_Array.Object := G_Array.Null_Object;
procedure Put (Group_Name : in Identifier.Object;
Subject_Index : in Positive;
Ok : out Boolean) is
A_Group : Group.Object;
Local_Ok : Boolean;
begin
G_Array.Get (The_Array, A_Group,
Identifier.Image (Group_Name), Local_Ok);
if not Local_Ok then
Group.Put_Name (A_Group, Group_Name);
end if;
Group.Put_Subject (A_Group, Subject_Index, Local_Ok);
if Local_Ok then
G_Array.Put (The_Array, A_Group);
end if;
Ok := Local_Ok;
end Put;
procedure Show is
begin
Text_Io.Put_Line ("Group Array :");
G_Array.Show (The_Array);
end Show;
procedure List_Init (Group_Name : in String) is
A_Group : Group.Object;
Local_Ok : Boolean;
begin
G_Array.Get (The_Array, A_Group, Group_Name, Local_Ok);
if Local_Ok then
Group.List_Init (A_Group);
G_Array.Put (The_Array, A_Group);
end if;
end List_Init;
procedure List_Next (Group_Name : in String) is
A_Group : Group.Object;
Local_Ok : Boolean;
begin
G_Array.Get (The_Array, A_Group, Group_Name, Local_Ok);
if Local_Ok then
Group.List_Next (A_Group);
G_Array.Put (The_Array, A_Group);
end if;
end List_Next;
function List_Value (Group_Name : in String) return Natural is
A_Group : Group.Object;
Local_Ok : Boolean;
begin
G_Array.Get (The_Array, A_Group, Group_Name, Local_Ok);
if Local_Ok then
return Group.List_Value (A_Group);
else
return 0;
end if;
end List_Value;
function List_Done (Group_Name : in String) return Boolean is
A_Group : Group.Object;
Local_Ok : Boolean;
begin
G_Array.Get (The_Array, A_Group, Group_Name, Local_Ok);
if Local_Ok then
return Group.List_Done (A_Group);
else
return True;
end if;
end List_Done;
function Belong (Group_Name : in String) return Boolean is
begin
return G_Array.Belong (The_Array, Group_Name);
end Belong;
end Group_Array;
nblk1=5
nid=2
hdr6=8
[0x00] rec0=1c rec1=00 rec2=01 rec3=00c
[0x01] rec0=20 rec1=00 rec2=05 rec3=038
[0x02] rec0=25 rec1=00 rec2=04 rec3=000
[0x03] rec0=06 rec1=00 rec2=03 rec3=000
[0x04] rec0=0b rec1=00 rec2=05 rec3=000
tail 0x217488030864d7ef8e6e7 0x42a00088462060003
Free Block Chain:
0x2: 0000 00 00 03 fc 80 0b 72 6f 75 70 5f 4e 61 6d 65 29 ┆ roup_Name)┆