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