1 ! Copyright (C) 2008 Slava Pestov.
2 ! See https://factorcode.org/license.txt for BSD license.
3 USING: accessors alien alien.accessors io kernel ;
6 TUPLE: memory-stream alien ;
8 C: <memory-stream> memory-stream
10 INSTANCE: memory-stream input-stream
12 M: memory-stream stream-element-type drop +byte+ ; inline
14 M: memory-stream stream-read1
15 [ 1 over <displaced-alien> ] change-alien drop
16 0 alien-unsigned-1 ; inline
18 : with-memory-reader ( alien quot -- )
19 [ <memory-stream> ] dip with-input-stream* ; inline