factor/library/io/stream.factor

28 lines
953 B
Factor
Raw Normal View History

! Copyright (C) 2003, 2005 Slava Pestov.
2006-01-17 02:43:38 -05:00
! See http://factorcode.org/license.txt for BSD license.
IN: io
2005-11-29 23:49:59 -05:00
USING: errors hashtables generic kernel math namespaces
sequences strings ;
2005-12-16 21:12:35 -05:00
GENERIC: stream-close ( stream -- )
GENERIC: set-timeout ( timeout stream -- )
GENERIC: stream-readln ( stream -- string )
GENERIC: stream-read1 ( stream -- char/f )
GENERIC: stream-read ( count stream -- string )
2005-12-16 21:12:35 -05:00
GENERIC: stream-write1 ( char stream -- )
GENERIC: stream-write ( string stream -- )
GENERIC: stream-flush ( stream -- )
GENERIC: stream-terpri ( stream -- )
GENERIC: stream-format ( string style stream -- )
2005-12-16 22:24:39 -05:00
GENERIC: with-nested-stream ( quot style stream -- )
2005-02-14 22:15:02 -05:00
: stream-print ( string stream -- )
[ stream-write ] keep stream-terpri ;
2005-06-19 18:31:02 -04:00
: (stream-copy) ( in out -- )
4096 pick stream-read
2005-09-24 15:21:17 -04:00
[ over stream-write (stream-copy) ] [ 2drop ] if* ;
2005-06-19 18:31:02 -04:00
: stream-copy ( in out -- )
[ 2dup (stream-copy) ] [ stream-close stream-close ] cleanup ;