英語版
このページの英語版を見る

dmd.common.smallbuffer

ファイル名操作を含む一般的な文字列関数。
Authors:
struct SmallBuffer(Element);
固定長バッファをバックストアとして使い、Elementsの一時配列を定義する。バッファの長さで十分であれば バッファの長さで十分な場合は、そのバッファが使われる。そうでない場合は、malloc が配列のメモリ確保に使われ、 が配列のメモリ確保に使われる。 が配列のメモリ確保に使われ、free がデストラクタでのメモリ確保解除に使われる。 デストラクタでのデアロケーションに使われる。
この型は、もっぱら自動変数として使用することを意図している。この型は デフォルトでは構築もコピーもできない。
Examples:
同上
char[230] buf = void;
auto a = SmallBuffer!char(10, buf);
assert(a[] is buf[0 .. 10]);
auto b = SmallBuffer!char(1000, buf);
assert(b[] !is buf[]);
b.create(1000);
assert(b.length == 1000);
assert(b[] !is buf[]);
scope this(size_t len, return scope Element[] buffer);
SmallBufferを構築する
Parameters:
size_t len 配列の要素数
Element[] buffer lenがバッキングストアに収まる場合は、スライスをバッキングストアとして使用する
scope void create(size_t len);
既存のSmallBufferのサイズを変更する。
Parameters:
size_t len リサイズ後の要素数