ToC | DocOverview | CGDoc | RelNotes | Index | PermutedIndex
| Allegro CL

| 21 Streams 21.1 Stream Concepts 21.1.1 Introduction to Streams 21.1.1.1 Abstract Classifications of Streams ### 21.1.1.1.1 Input, Output, and Bidirectional Streams A stream, whether a character stream or a binary stream, can be an input stream (source of data), an output stream (sink for data), both, or (e.g., when "`:direction :probe`" is given to open) neither. The next figure shows operators relating to input streams.
Operators relating to Input Streams.
clear-input | read-byte | read-from-string
listen | read-char | read-line
peek-char | read-char-no-hang | read-preserving-whitespace
read | read-delimited-list | unread-char
The next figure shows operators relating to output streams.
Operators relating to Output Streams.
clear-output | prin1 | write
finish-output | prin1-to-string | write-byte
force-output | princ | write-char
format | princ-to-string | write-line
fresh-line | print | write-string
pprint | terpri | write-to-string
A stream that is both an input stream and an output stream is called a bidirectional stream. See the functions input-stream-p and output-stream-p. Any of the operators listed in Figure 21.1.1.1.1 Input, Output, and Bidirectional Streams or Figure 21.1.1.1.1 Input, Output, and Bidirectional Streams can be used with bidirectional streams. In addition, the next figure shows a list of operators that relate specificaly to bidirectional streams.
Operators relating to Bidirectional Streams.
y-or-n-p | yes-or-no-p |

© Franz Inc. All Rights Reserved - File last updated 2022-07-25