Copyright (C) 1994, Digital Equipment Corp.
MODULE VTRd;
IMPORT MTextRd, Rd, Thread;
PROCEDURE InitReaderIx (vt: T; index: I) RAISES {Rd.Failure, Thread.Alerted} =
BEGIN
IF vt.rdDirty THEN
IF vt.rd = NIL THEN vt.rd := NEW (MTextRd.T) ELSE Rd.Close (vt.rd) END;
EVAL vt.rd.init (vt.mtext, index);
vt.rdDirty := FALSE;
ELSE
Rd.Seek (vt.rd, index);
END;
END InitReaderIx;
PROCEDURE Rev (vt: T) RAISES {Rd.Failure, Thread.Alerted} =
BEGIN
IF vt.rrd = NIL THEN vt.rrd := NEW (MTextRd.T) ELSE Rd.Close (vt.rrd) END;
EVAL vt.rrd.init (vt.mtext, Rd.Index (vt.rd), reverse := TRUE)
END Rev;
BEGIN END VTRd.