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

⟦37fbf63ee⟧ Ada Source

    Length: 3072 (0xc00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Item_Count, seg_0046c8

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 Map_Generic;
package body Item_Count is
    procedure Initialize (Db : in out Data_Base) is
    begin
        Data_Map.Initialize (Data_Map.Map (Db));
    end Initialize;

    procedure Add (An_Item : Item; To : in out Data_Base) is
        Current : Data;
    begin
        Current := Data_Map.Eval (Data_Map.Map (To), An_Item);
        Current := Current + 1;

        Data_Map.Define (Data_Map.Map (To), An_Item, Current,
                         Trap_Multiples => False);

    exception
        when Data_Map.Undefined =>
            Data_Map.Define (Data_Map.Map (To), An_Item, 1,
                             Trap_Multiples => True);
    end Add;

    function Done (Iter : Item_Iterator) return Boolean is
    begin
        return Data_Map.Done (Data_Map.Iterator (Iter));
    end Done;

    function Value (Iter : Item_Iterator) return Item is
    begin
        return Data_Map.Value (Data_Map.Iterator (Iter));
    end Value;

    procedure Next (Iter : in out Item_Iterator) is
    begin
        Data_Map.Next (Data_Map.Iterator (Iter));
    end Next;

    function Total (For_Item : Item; From : Data_Base) return Positive is
    begin
        return Positive (Data_Map.Eval (Data_Map.Map (From), For_Item));
    exception
        when Data_Map.Undefined =>
            raise Item_Not_Found;
    end Total;
end Item_Count;

E3 Meta Data

    nblk1=2
    nid=0
    hdr6=4
        [0x00] rec0=22 rec1=00 rec2=01 rec3=012
        [0x01] rec0=0d rec1=00 rec2=02 rec3=000
    tail 0x217002a14815c67080c97 0x42a00088462061e03