Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
 protected MaskedDuoBitArray(IDuoBitArrayUtilities duoBitArrayUtilities, int capacity)
 {
     this.duoBitArrayUtilities = duoBitArrayUtilities;
     duoBitArray = DuoBitArray.Create(capacity, duoBitArrayUtilities);
     mask        = DuoBitArray.Create(capacity, duoBitArrayUtilities);
 }