D中的固定大小的位阵列

时间:2013-10-29 21:03:46

标签: d bitarray compile-time-constant bitvector

如果我想要一个编译时大小的位数组(在堆栈上),我的替代方案是什么?

我在想像

struct Bitset(size_t nBits) {
    enum wsz = 8 * size_t.sizeof; // Word-Size.
    enum nBlocks = nBits/wsz + nBits % wsz * wsz;
    alias _bits this;
    size_t[nBlocks] _bits;
}

以及来自bt

core.bitop和相似内容

符合我的需要。

有没有人为此编写过模板以及一些不错的布尔操作?

1 个答案:

答案 0 :(得分:2)

我只是检查BitArray是否使用了堆栈。如果没有,抓住源代码并修改它......

恕我直言BitArray可以通过某种选项进行改进,无论你是否想要它在堆栈上......