Oberon || Library || Module Index || Search Engine || Definition || Module


Ulm's Oberon Library:
LargeTexts


NAME

LargeTexts - in-memory streams (alternative implementation)

SYNOPSIS

CONST posBeyondCurrentLength = 0;
CONST invalidTruncPos = 1;
CONST errors = 2;
TYPE ErrorEvent = POINTER TO ErrorEventRec;
TYPE ErrorEventRec =
   RECORD
      (Events.EventRec)
      errorcode: SHORTINT;
   END;
VAR errormsg: ARRAY errors OF Events.Message;
VAR error: Events.EventType;


TYPE Text = POINTER TO TextRec; TYPE TextRec = RECORD (Streams.StreamRec) END;

PROCEDURE Open(VAR text: Streams.Stream);

DESCRIPTION

LargeTexts offers the same semantics as Texts but with another implementation which assures faster operation at the possible cost of more memory. That means that ``Texts'' and ``Texts := LargeTexts'' are interchangable in the import list of a module without further modifications.

DIAGNOSTICS

By default, error events for text streams are being queued. Write operations fail never and read operations return FALSE only at the end of the current text buffer. Seek and trunc positions may fail due to invalid positions:
posBeyondCurrentLength
Negative seek positions and positions beyond the current length are invalid because Texts does not support holes.
invalidTruncPos
The trunc position must be non-negative and the current position must not be subject to a trunc operation.

AUTHORS

The original implementation is due to Werner Stanglow (was named DbStrings), the revisions and this manual page are due to Andreas Borchert.

SEE ALSO

Texts
alternative implementation

Edited by: borchert, last change: 2003/07/10, revision: 1.2, converted to HTML: 2003/07/10

Oberon || Library || Module Index || Search Engine || Definition || Module