module streams.interfaces; interface InputStream(DataType) { int read(ref DataType[] buffer, uint offset, uint length); } interface OutputStream(DataType) { int write(ref DataType[] buffer, uint offset, uint length); } interface ClosableStream { void close(); } interface FlushableStream { void flush(); }