/// <summary> /// Removes all bits in {@code other} from this bit set. /// Result is bits in this set before the call with all bits from {@code other} removed. /// {@code other} is kept intact. /// </summary> /// <param name="other"> value containing bits to remove. </param> /// <returns> this instance, now with removed bits from {@code other}. </returns> internal virtual LabelScanValue Remove(LabelScanValue other) { Bits &= ~other.Bits; return(this); }
/// <summary> /// Adds all bits from {@code other} to this bit set. /// Result is a union of the two bit sets. {@code other} is kept intact. /// </summary> /// <param name="other"> value containing bits to add. </param> /// <returns> this instance, now with added bits from {@code other}. </returns> internal virtual LabelScanValue Add(LabelScanValue other) { Bits |= other.Bits; return(this); }