superclass: object% |
An editor-stream-in% object is used to read editor information from a file or other input stream (such as the clipboard).
(make-object editor-stream-in% base) |
base : (is-a?/c editor-stream-in-base%) |
An in-stream base – possibly an editor-stream-in-bytes-base% object – must be supplied in base.
(send an-editor-stream-in get v) → (is-a?/c editor-stream-in%) |
(send an-editor-stream-in get v) → (is-a?/c editor-stream-in%) |
Reads data from the stream, returning itself. Reading from a bad stream always gives 0.
The v box is filled with the next integer or floating-point value in the stream.
len : (or/c (box/c nonnegative-exact-integer?) false/c) = #f |
Like get-unterminated-bytes, but the last read byte is assumed to be a nul terminator and discarded. Use this method when data is written by a call to put without an explicit byte count, and use get-unterminated-bytes when data is written with an explicit byte count.
The len box is filled with the length of the byte string plus one (to indicate the terminator), unless len is #f.
(send an-editor-stream-in get-exact) → (and/c exact? integer?) |
Returns the next integer value in the stream.
Gets a fixed-sized integer from the stream. See put-fixed for more information. Reading from a bad stream always gives 0.
The v box is filled with the fixed-size integer from the stream.
(send an-editor-stream-in get-inexact) → real? |
Returns the next floating-point value in the stream.
(send an-editor-stream-in get-unterminated-bytes [len]) |
len : (or/c (box/c nonnegative-exact-integer?) false/c) = #f |
Returns the next byte string from the stream. Reading from a bad stream returns #f or "".
Note that when put is not given a byte length, it includes an extra byte for a nul terminator; use get-bytes to read such byte strings.
The len box is filled with the length of the byte string, unless len is #f.
pos : nonnegative-exact-integer? |
Jumps to a given position in the stream.
Returns #t if the stream is ready for reading, #f otherwise. Reading from a bad stream always returns 0 or "".
(send an-editor-stream-in remove-boundary) → void? |
See set-boundary.
(send an-editor-stream-in set-boundary n) → void? |
n : nonnegative-exact-integer? |
Sets a file-reading boundary at n bytes past the current stream location. If there is an attempt to read past this boundary, an error is signaled. The boundary is removed with a call to remove-boundary. Every call to set-boundary must be balanced by a call to remove-boundary.
Boundaries help keep a subroutine from reading too much data leading to confusing errors. However, a malicious subroutine can call remove-boundary on its own.
n : nonnegative-exact-integer? |
Skips past the next n bytes in the stream.
(send an-editor-stream-in tell) → nonnegative-exact-integer? |
Returns the current stream position.