57 lines
1.3 KiB
Racket
57 lines
1.3 KiB
Racket
#lang scribble/doc
|
|
@(require "common.ss")
|
|
|
|
@defclass/title[editor-stream-in-base% object% ()]{
|
|
|
|
An @scheme[editor-stream-in-base%] object is used by an
|
|
@scheme[editor-stream-in%] object to perform low-level reading of
|
|
data.
|
|
|
|
The @scheme[editor-stream-in-base%] class is never instantiated
|
|
directly, but the derived class @scheme[editor-stream-in-bytes-base%]
|
|
can be instantiated. New derived classes must override all of the
|
|
methods described in this section.
|
|
|
|
|
|
@defmethod[(bad?)
|
|
boolean?]{
|
|
|
|
Returns @scheme[#t] if there has been an error reading from the
|
|
stream, @scheme[#f] otherwise.
|
|
|
|
}
|
|
|
|
@defmethod[(read [data (and/c bytes? (not/c immutable?))])
|
|
exact-nonnegative-integer?]{
|
|
|
|
Reads characters to fill the supplied vector. The return value is the
|
|
number of characters read, which may be less than the number
|
|
requested if the stream is emptied. If the stream is emptied, the
|
|
next call to @method[editor-stream-in-base% bad?] must return
|
|
@scheme[#t].
|
|
|
|
}
|
|
|
|
|
|
@defmethod[(seek [pos exact-nonnegative-integer?])
|
|
void?]{
|
|
|
|
Moves to the specified absolute position in the stream.
|
|
|
|
}
|
|
|
|
@defmethod[(skip [n exact-nonnegative-integer?])
|
|
void?]{
|
|
|
|
Skips past the next @scheme[n] characters in the stream.
|
|
|
|
}
|
|
|
|
@defmethod[(tell)
|
|
exact-nonnegative-integer?]{
|
|
|
|
Returns the current stream position.
|
|
|
|
}}
|
|
|