io: nab io.streams.peek's stream-exemplar-growable
Rename stream-element-examplar to stream-exemplar to match.db4
parent
59f0b93290
commit
d54824cb40
|
@ -81,14 +81,17 @@ SYMBOL: error-stream
|
|||
|
||||
<PRIVATE
|
||||
|
||||
: (stream-element-exemplar) ( type -- exemplar )
|
||||
{
|
||||
: stream-exemplar ( stream -- exemplar )
|
||||
stream-element-type {
|
||||
{ +byte+ [ B{ } ] }
|
||||
{ +character+ [ "" ] }
|
||||
} case ; inline
|
||||
|
||||
: stream-element-exemplar ( stream -- exemplar )
|
||||
stream-element-type (stream-element-exemplar) ; inline
|
||||
: stream-exemplar-growable ( stream -- exemplar )
|
||||
stream-element-type {
|
||||
{ +byte+ [ BV{ } ] }
|
||||
{ +character+ [ SBUF" " ] }
|
||||
} case ; inline
|
||||
|
||||
PRIVATE>
|
||||
|
||||
|
@ -120,7 +123,7 @@ PRIVATE>
|
|||
: stream-contents ( stream -- seq )
|
||||
[
|
||||
[ [ ] collector [ each-stream-block ] dip { } like ]
|
||||
[ stream-element-exemplar concat-as ] bi
|
||||
[ stream-exemplar concat-as ] bi
|
||||
] with-disposal ;
|
||||
|
||||
: stream-contents-length ( stream -- n )
|
||||
|
@ -147,7 +150,7 @@ PRIVATE>
|
|||
MIXIN: noncopying-reader
|
||||
|
||||
: (new-sequence-for-stream) ( n stream -- seq )
|
||||
stream-element-exemplar new-sequence ; inline
|
||||
stream-exemplar new-sequence ; inline
|
||||
|
||||
: (read-into-new) ( n stream quot -- byte-array/f )
|
||||
[ 2dup (new-sequence-for-stream) swap ] dip curry keep
|
||||
|
|
|
@ -9,17 +9,11 @@ TUPLE: peek-stream stream peeked ;
|
|||
|
||||
M: peek-stream dispose stream>> dispose ;
|
||||
|
||||
: stream-exemplar-growable ( stream -- exemplar )
|
||||
stream-element-type {
|
||||
{ +byte+ [ BV{ } ] }
|
||||
{ +character+ [ SBUF" " ] }
|
||||
} case ; inline
|
||||
|
||||
: stream-new-resizable ( n stream -- exemplar )
|
||||
stream-element-exemplar new-resizable ; inline
|
||||
stream-exemplar new-resizable ; inline
|
||||
|
||||
: stream-like ( sequence stream -- sequence' )
|
||||
stream-element-exemplar like ; inline
|
||||
stream-exemplar like ; inline
|
||||
|
||||
: stream-clone-resizable ( sequence stream -- sequence' )
|
||||
stream-exemplar-growable clone-like ; inline
|
||||
|
@ -52,7 +46,7 @@ M:: peek-stream stream-read ( n stream -- sequence )
|
|||
] [
|
||||
peeked <reversed>
|
||||
n #peeked - stream stream>> stream-read
|
||||
stream stream-element-exemplar append-as
|
||||
stream stream-exemplar append-as
|
||||
|
||||
stream stream-exemplar-growable clone stream peeked<<
|
||||
] if
|
||||
|
@ -83,7 +77,7 @@ M: peek-stream stream-flush stream>> stream-flush ;
|
|||
|
||||
: stream-peek ( n stream -- seq )
|
||||
2dup peeked>> { [ length <= ] [ length 0 > ] } 1&& [
|
||||
[ peeked>> <reversed> swap head ] [ stream-element-exemplar like ] bi
|
||||
[ peeked>> <reversed> swap head ] [ stream-exemplar like ] bi
|
||||
] [
|
||||
[ nip ]
|
||||
[ stream-read ] 2bi
|
||||
|
|
Loading…
Reference in New Issue