DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

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 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ B T

⟦d6e663bee⟧ TextFile

    Length: 3285 (0xcd5)
    Types: TextFile
    Names: »B«

Derivation

└─⟦149519bd4⟧ Bits:30000546 8mm tape, Rational 1000, !projects 93-07-13
    └─ ⟦124ff5788⟧ »DATA« 
        └─⟦this⟧ 
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
    └─ ⟦129cab021⟧ »DATA« 
        └─⟦this⟧ 
└─⟦f64eaa120⟧ Bits:30000752 8mm tape, Rational 1000, !projects 93 02 16
    └─ ⟦6f12a12be⟧ »DATA« 
        └─⟦this⟧ 
└─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04
    └─ ⟦d65440be7⟧ »DATA« 
        └─⟦this⟧ 

TextFile

with Set_Generic;
with String_Utilities;
with Unbounded_String;
package body Directory is

    package Su renames String_Utilities;
    package Us is new Unbounded_String (Default_Maximum_Length => 128);

    type Object_Data is
        record
            Name      : Us.Variable_String;
            Class     : Class_Enumeration := Unknown_Class;
            Sub_Class : Subclass;
        end record;

    type Subclass_Data is
        record
            Id   : Natural;
            Name : Us.Variable_String;
        end record;

    package Object_Set is new Set_Generic (Element => Object);

    type Iterator_Implementation is new Object_Set.Iterator;


    function Nil return Object is
    begin
        return null;
    end Nil;


    function Is_Nil (The_Object : Object) return Boolean is
    begin
        return The_Object = null;
    end Is_Nil;


    function Hash (The_Object : Object) return Integer is
    begin
        return Su.Hash_String (Us.Image (The_Object.Name));
    end Hash;


    function Same_Object (Left, Right : Object) return Boolean is
    begin
        return Su.Equal (Str1        => Us.Image (Left.Name),
                         Str2        => Us.Image (Right.Name),
                         Ignore_Case => False) and Left.Class = Right.Class;
    end Same_Object;


    function Class (The_Object : Object) return Class_Enumeration is
    begin
        return The_Object.Class;
    end Class;


    function Equal (Class1, Class2 : Class_Enumeration) return Boolean is
    begin
        return Class1 = Class2;
    end Equal;


    function Image (The_Class : Class_Enumeration) return String is
    begin
        [statement]
    end Image;


    function Value (S : String) return Class_Enumeration is
    begin
        [statement]
    end Value;


    function Nil return Subclass is
    begin
        [statement]
    end Nil;


    function Is_Nil (The_Subclass : Subclass) return Boolean is
    begin
        [statement]
    end Is_Nil;


    function Unique (The_Subclass : Subclass) return Integer is
    begin
        [statement]
    end Unique;


    function Subclass_Of (The_Object : Object) return Subclass is
    begin
        return The_Object.Sub_Class;
    end Subclass_Of;


    function Image (The_Subclass : Subclass) return String is
    begin
        return Us.Image (The_Subclass.Name);
    end Image;


    function Value (S : String) return Subclass is
    begin
        [statement]
    end Value;


    function Class_Of (The_Subclass : Subclass) return Class_Enumeration is
    begin
        [statement]
    end Class_Of;


    function Same_Subclass (Left, Right : Subclass) return Boolean is
    begin
        return Left.Id = Right.Id;
    end Same_Subclass;


    procedure Next (Iter : in out Iterator) is
    begin
        [statement]
    end Next;


    function Done (Iter : Iterator) return Boolean is
    begin
        [statement]
    end Done;


    function Value (Iter : Iterator) return Object is
    begin
        [statement]
    end Value;


    procedure Reset (Iter : Iterator) is
    begin
        [statement]
    end Reset;


    package body Naming is separate;
    package body Traversal is separate;
    package body Any_Object is separate;
    package body Statistics is separate;

end Directory;