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

⟦bfe32337d⟧ Ada Source

    Length: 4096 (0x1000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Moving_String, seg_049b08

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;
package body Moving_String is

    procedure Free (Item : in out Object) is

    begin
        M_String.Free (Item.Inner);
    end Free;

    function From_Character (A_Character : in Character) return Object is

        New_Object : Object;
    begin  
        M_String.Append (New_Object.Inner, A_Character);
        return New_Object;
    end From_Character;

    function From_String (A_String : in String) return Object is

        New_Object : Object;
    begin  
        M_String.Append (New_Object.Inner, A_String);
        return New_Object;
    end From_String;

    function "&" (Left : in Object; Right : in Character) return Object is

        New_Object : Object := Left;

    begin
        M_String.Append (New_Object.Inner, Right);
        return New_Object;
    end "&";

    function "&" (Left : in Character; Right : in Object) return Object is

        New_Object : Object := From_Character (Left);

    begin
        M_String.Append (New_Object.Inner, Right.Inner);
        return New_Object;
    end "&";

    function "&" (Left : in Object; Right : in String) return Object is

        New_Object : Object := Left;

    begin
        M_String.Append (New_Object.Inner, Right);
        return New_Object;
    end "&";

    function "&" (Left : in String; Right : in Object) return Object is

        New_Object : Object := From_String (Left);

    begin
        M_String.Append (New_Object.Inner, Right.Inner);
        return New_Object;
    end "&";

    function "&" (Left, Right : in Object) return Object is

        New_Object : Object;

    begin
        M_String.Copy (New_Object.Inner, Left.Inner);
        M_String.Append (New_Object.Inner, Right.Inner);
        return New_Object;
    end "&";

    function Image (Item : in Object) return String is

    begin
        return M_String.Image (Item.Inner);
    end Image;

    function Length (Item : in Object) return Natural is
    begin
        return M_String.Length (Item.Inner);
    end Length;

    function Char_At (Item : in Object; At_Pos : in Positive)
                     return Character is  
    begin
        return M_String.Char_At (Item.Inner, At_Pos);
    end Char_At;

end Moving_String;

E3 Meta Data

    nblk1=3
    nid=0
    hdr6=6
        [0x00] rec0=28 rec1=00 rec2=01 rec3=008
        [0x01] rec0=27 rec1=00 rec2=03 rec3=014
        [0x02] rec0=0c rec1=00 rec2=02 rec3=000
    tail 0x2174e204c86617b924657 0x42a00088462060003