/// <summary> /// Gets the mask of bits that have (yet) to have valid data. /// </summary> public IReadOnlyDuoBitArray GetMaskOfUnusedBits() { var invertedMask = duoBitArrayUtilities.GetInvertedBytes(mask.ToByteArray()); var maskOfUnusedBits = DuoBitArray.Create(Capacity, duoBitArrayUtilities) .SetLeftBits(invertedMask, sourceArrayBitIndex: 0, destinationBitIndex: 0, numBits: mask.Capacity); return(maskOfUnusedBits); }
protected MaskedDuoBitArray(IDuoBitArrayUtilities duoBitArrayUtilities, int capacity) { this.duoBitArrayUtilities = duoBitArrayUtilities; duoBitArray = DuoBitArray.Create(capacity, duoBitArrayUtilities); mask = DuoBitArray.Create(capacity, duoBitArrayUtilities); }