stream-write1 ( elt stream -- ) (original) (raw)
stream-write1 ( elt stream -- )
Factor handbook » Input and output » Streams » Stream protocol
Prev: | stream-flush ( stream -- ) |
---|---|
Next: | stream-write ( data stream -- ) |
Vocabulary
io
Inputs
elt | an element |
---|---|
stream | an output stream |
Outputs
None
Generic word contract
Writes an element to the stream. If the stream does buffering, output may not be performed immediately; use stream-flush to force output.
Notes
Most code only works on one stream at a time and should instead use write1; see Default input and output streams.
Errors
Throws an error if the I/O operation fails.
Definition
GENERIC: stream-write1 ( elt stream -- )
Methods
USING: accessors destructors io io.streams.c ;
M: c-writer stream-write1 check-disposed handle>> fputc ;
USING: accessors io io.streams.counting kernel math ;
M:: counting-stream stream-write1 ( elt stream -- )
elt stream stream>> stream-write1 stream
[ 1 + ] change-out-count drop ;
USING: accessors io io.crlf kernel ;
M: crlf-stream stream-write1
[ underlying>> ] call \ stream-write1 execute ;
USING: curses curses.listener io kernel ;
M: curses-listener-stream stream-write1 drop addch ;
USING: accessors io io.streams.duplex kernel ;
M: duplex-stream stream-write1
[ out>> ] call \ stream-write1 execute ;
USING: io io.encodings io.encodings.private ;
M: encoder stream-write1 >encoder< encode-char ; inline
M: f stream-write1 2drop ; inline
USING: accessors io io.styles kernel ;
M: filter-writer stream-write1
[ stream>> ] call \ stream-write1 execute ;
USING: growable io sequences ;
M: growable stream-write1 push ;
USING: html.streams html.streams.private io strings ;
M: html-writer stream-write1 [ 1string ] emit-html ;
USING: io io.streams.null kernel ;
M: null-writer stream-write1 2drop ;
USING: accessors destructors io io.buffers io.ports kernel ;
M: output-port stream-write1
check-disposed 1 over wait-to-write buffer>> buffer-write1 ;
inline
USING: io ui.gadgets.panes ui.gadgets.panes.private ;
M: pane-stream stream-write1 [ pane-write1 ] do-pane-stream ;
USING: accessors io kernel pdf.layout pdf.streams sequences
strings ;
M: pdf-writer stream-write1
[ 1string f ] [ data>> ] bi* push ;
USING: accessors io io.streams.peek ;
M: peek-stream stream-write1 stream>> stream-write1 ;
USING: io io.styles kernel strings ;
M: style-stream stream-write1 [ 1string ] dip stream-write ;