DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ T V ┃
Length: 2154 (0x86a) Types: TextFile Names: »V«
└─⟦d10a02448⟧ Bits:30000409 8mm tape, Rational 1000, ENVIRONMENT, D_12_7_3 └─ ⟦fc9b38f02⟧ »DATA« └─⟦9b46a407a⟧ └─⟦c84a2ac9b⟧ └─⟦this⟧
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 (27); private type Storage_Heap is new System.Segment; end Heap_Strings;