immutable fname = "testData.dat";
std.file.write(fname, cast(ubyte[])[0, 1, 2, 3, 4, 5]); // 6byte
scope(exit)
std.file.remove(fname);
auto sig1 = rawFileStream!int(fname);
static assert(isInputStream!(typeof(sig1)));
static assert(isInplaceComputableStream!(typeof(sig1)));
static assert(isBufferedInputStream!(typeof(sig1)));
assert(sig1.availables.length == 1);
sig1.consume(1);
assert(sig1.empty && sig1.fetch());
immutable fname = "testData.dat";
std.file.write(fname, [0, 1, 2, 3, 4, 5]); // 24byte
scope(exit)
std.file.remove(fname);
auto sig1 = rawFileStream!int(fname);
assert(sig1.availables == [0, 1, 2, 3, 4, 5]);
sig1.consume(6);
assert(sig1.empty && sig1.fetch());
一度に巨大なファイルを読み込むことに特化した,バッファ持ち入力ストリームです。