|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 6144 (0x1800)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, generic, package Line_Buffer_Unbounded_Width, seg_0046dd
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦this⟧
--| @SUMMARY This package provides operations for creating, processing,
--| filtering, sorting, justifying, and displaying buffers of text. The
--| length of each buffer is defined at the point of declaration. The
--| width of any text line is unbounded.
--|
with Unbounded_String;
package Line_Buffer_Unbounded_Width is
type Buffer (Length : Positive) is private;
subtype Line is String;
procedure Reset (The_Buffer : in out Buffer);
procedure Append (The_Buffer : Buffer;
To : in out Buffer);
procedure Append_Line (The_Line : Line;
To : in out Buffer);
procedure Prepend_Line (The_Line : Line;
To : in out Buffer);
procedure Overwrite (The_Line : Line;
At_Location : Positive;
To : in out Buffer);
procedure Remove (Line_At_Location : Positive;
In_Buffer : in out Buffer);
function Buffer_Length (Of_Buffer : Buffer) return Natural;
function String_Image (Of_Buffer : Buffer; Add_Line_Feeds : Boolean := True)
return String;
Overflow : exception;
procedure Append (Text : String; To_All_Lines_In_Buffer : in out Buffer);
procedure Prepend (Text : String; To_All_Lines_In_Buffer : in out Buffer);
procedure Strip (The_Buffer : in out Buffer; Char : Character := ' ');
procedure Strip_Leading (The_Buffer : in out Buffer;
Char : Character := ' ');
procedure Strip_Trailing (The_Buffer : in out Buffer;
Char : Character := ' ');
generic
with function Discard (The_Line : Line) return Boolean;
procedure Filter (The_Buffer : in out Buffer);
generic
with function "<" (Left Right : Line) return Boolean;
procedure Sort (The_Buffer : in out Buffer);
generic
with function Break_Point (In_Line : Line) return Positive;
procedure Left_Right_Justify (The_Buffer : in out Buffer);
generic
with function Process (The_Line : Line) return Line;
procedure Modify (The_Buffer : in out Buffer);
generic
with procedure Put_Line (The_Line : Line);
procedure Display (The_Buffer : Buffer);
type Iterator is private;
procedure Init (Iter : in out Iterator; From_Buffer : Buffer);
function Done (Iter : Iterator) return Boolean;
function Value (Iter : Iterator) return Line;
procedure Next (Iter : in out Iterator);
private
package Unbounded is new Unbounded_String (80);
subtype Var_String is Unbounded.Variable_String;
type Buffer_Lines is array (Positive range <>) of Var_String;
type Buffer (Length : Positive) is
record
Buf : Buffer_Lines (1 .. Length);
Current : Positive := 1;
Size : Natural := 0;
end record;
type Iterator is access Buffer;
end Line_Buffer_Unbounded_Width;
nblk1=5
nid=0
hdr6=a
[0x00] rec0=1d rec1=00 rec2=01 rec3=02c
[0x01] rec0=18 rec1=00 rec2=02 rec3=03e
[0x02] rec0=00 rec1=00 rec2=05 rec3=002
[0x03] rec0=1f rec1=00 rec2=03 rec3=012
[0x04] rec0=07 rec1=00 rec2=04 rec3=000
tail 0x215004c64815c6737fa4d 0x42a00088462061e03