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

dmd.common.bitfields

ライブラリビットフィールドユーティリティ
Authors:
Dennis Korpel
string generateBitFields(S, T)()
if (__traits(isUnsigned, T));
構造体/クラス本体内のビットフィールドのコードを生成する
Parameters:
S 真偽値フィールドのみを持つ構造体の型は、ビット・フィールドになるべきである。
T すべてのブール値を格納するのに十分なビットを持たなければならない。
Returns:
ビットフィールド変数とゲッター/セッター関数を持つDコード
Examples:
static struct B
{
    bool x;
    bool y;
    bool z = 1;
}

static struct S
{
    mixin(generateBitFields!(B, ubyte));
}

S s;
assert(!s.x);
s.x = true;
assert(s.x);
s.x = false;
assert(!s.x);

s.y = true;
assert(s.y);
assert(!s.x);
assert(s.z);