BitArray.opOpAssign

Support for operator ~= for BitArray. Warning: This will overwrite a bit in the final word of the current underlying data regardless of whether it is shared between BitArray objects. i.e. D dynamic array concatenation semantics are not followed

  1. BitArray opOpAssign(BitArray e2)
  2. BitArray opOpAssign(bool b)
  3. BitArray opOpAssign(BitArray b)
    struct BitArray
    pure nothrow
    opOpAssign
    (
    string op
    )
    if (
    op == "~"
    )
  4. void opOpAssign(size_t nbits)
  5. void opOpAssign(size_t nbits)

Examples

bool[] ba = [1,0,1,0,1];

auto a = BitArray(ba);
BitArray b;

b = (a ~= true);
assert(a[0] == 1);
assert(a[1] == 0);
assert(a[2] == 1);
assert(a[3] == 0);
assert(a[4] == 1);
assert(a[5] == 1);

assert(b == a);
1 bool[] ba = [1,0];
2 bool[] bb = [0,1,0];
3 
4 auto a = BitArray(ba);
5 auto b = BitArray(bb);
6 BitArray c;
7 
8 c = (a ~= b);
9 assert(a.length == 5);
10 assert(a[0] == 1);
11 assert(a[1] == 0);
12 assert(a[2] == 0);
13 assert(a[3] == 1);
14 assert(a[4] == 0);
15 
16 assert(c == a);

Meta

Suggestion Box / Bug Report