public Builder Toggle(int index) { CheckIndex(index); BitUtility.ToggleBit(ValueBuffer.Span, index); BitUtility.SetBit(ValidityBuffer.Span, index, true); return(this); }
/// <summary> /// Toggle the bit at a particular index. /// </summary> /// <param name="index">Index of bit to toggle.</param> /// <returns>Returns the builder (for fluent-style composition).</returns> public BitmapBuilder Toggle(int index) { CheckIndex(index); bool priorValue = BitUtility.GetBit(Span, index); SetBitCount += priorValue ? -1 : 1; BitUtility.ToggleBit(Span, index); return(this); }