|
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 - download
Length: 6144 (0x1800) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, generic, package Line_Buffer_Bounded_Width, seg_0046db
└─⟦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 line is limited by the value of the generic actual. --| with Bounded_String; generic Width : Positive; package Line_Buffer_Bounded_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 Bffer); 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 subtype Var_String is Bounded_String.Variable_String (Width); 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_Bounded_Width;
nblk1=5 nid=0 hdr6=a [0x00] rec0=1d rec1=00 rec2=01 rec3=030 [0x01] rec0=17 rec1=00 rec2=02 rec3=056 [0x02] rec0=00 rec1=00 rec2=05 rec3=002 [0x03] rec0=1f rec1=00 rec2=03 rec3=018 [0x04] rec0=08 rec1=00 rec2=04 rec3=000 tail 0x215004c3a815c673253f8 0x42a00088462061e03