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

⟦3c8c9be0c⟧ Ada Source

    Length: 4096 (0x1000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Heap_Strings, pragma Module_Name 4 3580, pragma Segmented_Heap Astring, pragma Subsystem Design_Facility, seg_001c67

Derivation

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

E3 Source Code



with System;
package Heap_Strings is
    type Astring is access String;
    pragma Segmented_Heap (Astring);

    ---------------------------------------------------------------------
    -- If you're going to do a lot of ASTRING allocation within a
    -- job, getting and initializing a STORAGE_HEAP object (and using
    -- the flavor of calls that take a STORAGE_HEAP) will improve
    -- preformance somewhat.
    ---------------------------------------------------------------------
    type Storage_Heap is private;
    function Initialize return Storage_Heap;


    ---------------------------------------------------------------------
    -- Allocate new ASTRINGs. The order below indicates the relative
    -- performance, the first is slowest, last is the fastest.
    -- The middle call allocates the new ASTRING on the STORAGE_HEAP of
    -- the FROM_POINTER param, if FROM_POINTER is uninitialized, the call
    -- is identical to the first.
    ---------------------------------------------------------------------
    function Allocate (Data : String)                           return Astring;
    function Allocate (Data : String; From_Pointer : Astring)   return Astring;
    function Allocate (Data : String; From_Heap : Storage_Heap) return Astring;


    ---------------------------------------------------------------------
    -- Append to an ASTRING. If the target is uninitialized, append will
    -- allocate the strings on the default STORAGE_HEAP or on the
    -- source's STORAGE_HEAP (if it is an ASTRING and it is initialized).
    ---------------------------------------------------------------------
    procedure Append (To_Target : in out Astring; Source : String);
    procedure Append (To_Target : in out Astring; Source : Astring);

    procedure Replace (In_Target : Astring; The_Char, With_Char : Character);



    -- Hide this one ...
    function Allocate
                (Data : String; From_Heap : System.Segment) return Astring;

    pragma Subsystem (Design_Facility, Closed);
    pragma Module_Name (4, 3580);
    pragma Bias_Key (109);
private
    type Storage_Heap is new System.Segment;
end Heap_Strings;

E3 Meta Data

    nblk1=3
    nid=0
    hdr6=6
        [0x00] rec0=17 rec1=00 rec2=01 rec3=020
        [0x01] rec0=14 rec1=00 rec2=02 rec3=064
        [0x02] rec0=08 rec1=00 rec2=03 rec3=000
    tail 0x20100f6c67da18db678ff 0x42a00088462065003