DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦7dbf7eaa7⟧ Ada Source

    Length: 6144 (0x1800)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Group_Array, seg_046682, seg_0466eb, seg_04717c

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦5a81ac88f⟧ »Space Info Vol 1« 
        └─⟦this⟧ 
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦this⟧ 

E3 Source Code



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 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.Init (A_Group);
            G_Array.Put (The_Array, A_Group);
        end if;
    end Init;

    procedure 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.Next (A_Group);
            G_Array.Put (The_Array, A_Group);
        end if;
    end Next;

    function Value (Group_Name : in String) return 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
            return Group.Value (A_Group);
        else
            return "";
        end if;
    end Value;

    function Value (Group_Name : in String) return Moving_String.Object is

    begin
        return Moving_String.From_String (Value (Group_Name));
    end Value;

    function 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.Done (A_Group);
        else
            return True;
        end if;
    end Done;

    function Belong (Group_Name : in String) return Boolean is

    begin
        return G_Array.Belong (The_Array, Group_Name);
    end Belong;

end Group_Array;

E3 Meta Data

    nblk1=5
    nid=2
    hdr6=8
        [0x00] rec0=1c rec1=00 rec2=01 rec3=00c
        [0x01] rec0=28 rec1=00 rec2=05 rec3=062
        [0x02] rec0=28 rec1=00 rec2=04 rec3=016
        [0x03] rec0=01 rec1=00 rec2=03 rec3=000
        [0x04] rec0=0b rec1=00 rec2=05 rec3=000
    tail 0x21748fef28651330d660a 0x42a00088462060003
Free Block Chain:
  0x2: 0000  00 00 03 fc 80 0b 72 6f 75 70 5f 4e 61 6d 65 29  ┆      roup_Name)┆