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

⟦23d165978⟧ Ada Source

    Length: 6144 (0x1800)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Test_Identifier_List, seg_045fd2

Derivation

└─⟦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, Identifier, Exclusive_Generic_List;
use Text_Io;
procedure Test_Identifier_List is

    package Identifier_List is new Exclusive_Generic_List
                                      (Element => Identifier.Object,
                                       Null_Element => Identifier.Null_Object,
                                       Show_Element => Identifier.Show,
                                       Get_Key => Identifier.Image);
    List, List2 : Identifier_List.Object;
    Iterator : Identifier_List.Iterator;
    An_Identifier : Identifier.Object;
    Ok : Boolean;

begin

    Identifier_List.Show (List);

    Identifier.Put (Item => An_Identifier, Value => "aller");
    Identifier_List.Put (List, An_Identifier, Ok);
    if Ok then
        Put_Line ("L'element n'etait pas encore insere !");
    else
        Put_Line ("L'element etait deja insere !");
    end if;

    Identifier.Put (Item => An_Identifier, Value => "marcher");
    Identifier_List.Put (List, An_Identifier, Ok);
    if Ok then
        Put_Line ("L'element n'etait pas encore insere !");
    else
        Put_Line ("L'element etait deja insere !");
    end if;

    Identifier.Put (Item => An_Identifier, Value => "courir");
    Identifier_List.Put (List, An_Identifier, Ok);
    if Ok then
        Put_Line ("L'element n'etait pas encore insere !");
    else
        Put_Line ("L'element etait deja insere !");
    end if;

    Identifier_List.Put (List, An_Identifier, Ok);  -- courir est reinsere
    if Ok then
        Put_Line ("L'element n'etait pas encore insere !");
    else
        Put_Line ("L'element etait deja insere !");
    end if;

    Identifier_List.Init (Iterator, List);
    while not Identifier_List.Done (Iterator) loop
        An_Identifier := Identifier_List.Value (Iterator);
        Put_Line (Identifier.Image (Item => An_Identifier));
        Identifier_List.Next (Iterator);
    end loop;

    Identifier_List.Show (List);

    Put_Line ("longueur list 2 : " & Natural'Image
                                        (Identifier_List.Length (List2)));
    Put_Line ("list 2 vide : " & Boolean'Image
                                    (Identifier_List.Is_Empty (List2)));

    Identifier_List.Copy (List, List2);

    Put_Line ("longueur list 2  : " & Natural'Image
                                         (Identifier_List.Length (List2)));
    Put_Line ("list 2 vide : " & Boolean'Image
                                    (Identifier_List.Is_Empty (List2)));

    Identifier.Put (Item => An_Identifier, Value => "sauter");
    Identifier_List.Put (List2, An_Identifier, Ok);
    Put_Line ("list 2");
    Identifier_List.Show (List2);
    Put_Line ("list");
    Identifier_List.Show (List);

    Identifier.Show (An_Identifier);
    Identifier_List.Get (List2, An_Identifier, "marcher", Ok);
    if Ok then
        Put_Line ("element trouve");
    else
        Put_Line ("element non trouve");
    end if;

    Identifier.Show (An_Identifier);
    Identifier_List.Free (List2);
    Identifier_List.Show (List2);
    Put_Line ("list 2 vide : " & Boolean'Image
                                    (Identifier_List.Is_Empty (List2)));
    Identifier_List.Show (List);


    Identifier.Put (Item => An_Identifier, Value => "courir");
    Identifier_List.Put (List, An_Identifier);
    Identifier.Put (Item => An_Identifier, Value => "marcher");
    Identifier_List.Put (List, An_Identifier);
    Identifier.Put (Item => An_Identifier, Value => "ramer");
    Identifier_List.Put (List, An_Identifier);

    Identifier_List.Show (List);
    Identifier_List.Free (List);
    Identifier_List.Show (List);


end Test_Identifier_List;

E3 Meta Data

    nblk1=5
    nid=2
    hdr6=8
        [0x00] rec0=1d rec1=00 rec2=01 rec3=00e
        [0x01] rec0=1d rec1=00 rec2=05 rec3=012
        [0x02] rec0=1a rec1=00 rec2=03 rec3=016
        [0x03] rec0=18 rec1=00 rec2=04 rec3=000
        [0x04] rec0=02 rec1=00 rec2=03 rec3=000
    tail 0x21748305a864d5f01d5a8 0x42a00088462060003
Free Block Chain:
  0x2: 0000  00 00 00 16 80 10 49 64 65 6e 74 69 66 69 65 72  ┆      Identifier┆