io.streams.sequence: minor refactor, minor speedup.
parent
9920f1d2aa
commit
3c03803f21
|
@ -11,11 +11,8 @@ SLOT: i
|
||||||
: >sequence-stream< ( stream -- i underlying )
|
: >sequence-stream< ( stream -- i underlying )
|
||||||
[ i>> ] [ underlying>> ] bi ; inline
|
[ i>> ] [ underlying>> ] bi ; inline
|
||||||
|
|
||||||
: next ( stream -- )
|
|
||||||
[ 1 + ] change-i drop ; inline
|
|
||||||
|
|
||||||
: sequence-read1 ( stream -- elt/f )
|
: sequence-read1 ( stream -- elt/f )
|
||||||
[ >sequence-stream< ?nth ] [ next ] bi ; inline
|
dup >sequence-stream< dupd ?nth [ 1 + swap i<< ] dip ; inline
|
||||||
|
|
||||||
: (sequence-read-length) ( n buf stream -- buf count )
|
: (sequence-read-length) ( n buf stream -- buf count )
|
||||||
[ underlying>> length ] [ i>> ] bi - rot min ; inline
|
[ underlying>> length ] [ i>> ] bi - rot min ; inline
|
||||||
|
@ -39,7 +36,8 @@ SLOT: i
|
||||||
|
|
||||||
: sequence-read-until ( seps stream -- seq sep/f )
|
: sequence-read-until ( seps stream -- seq sep/f )
|
||||||
[ find-separator ] keep
|
[ find-separator ] keep
|
||||||
[ [ (sequence-read-unsafe) ] (read-into-new) ] [ next ] bi swap ; inline
|
[ [ (sequence-read-unsafe) ] (read-into-new) ]
|
||||||
|
[ [ 1 + ] change-i drop ] bi swap ; inline
|
||||||
|
|
||||||
! Writers
|
! Writers
|
||||||
M: growable dispose drop ;
|
M: growable dispose drop ;
|
||||||
|
|
Loading…
Reference in New Issue