scope(failure) {writefln("Unittest failure :%s(%s)", __FILE__, __LINE__); stdout.flush();} scope(success) {writefln("Unittest success :%s(%s)", __FILE__, __LINE__); stdout.flush();} auto acc = accumulator!int(4); static assert(isOutputStream!(typeof(acc), int)); assert(acc.write([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]).empty); assert(equal(acc[], [0+1+2+3, 4+5+6+7])); acc.write([10, 11]); assert(equal(acc[], [0+1+2+3, 4+5+6+7, 8+9+10+11]));
積分器です。 積分するサンプル量が大きい場合の使用に適しています。