Function toggleAll [src]

Flips every bit in the bit set.

Prototype

pub fn toggleAll(self: *Self) void

Parameters

self: *Self

Source

pub fn toggleAll(self: *Self) void { const bit_length = self.bit_length; // avoid underflow if bit_length is zero if (bit_length == 0) return; const num_masks = numMasks(self.bit_length); for (self.masks[0..num_masks]) |*mask| { mask.* = ~mask.*; } const padding_bits = num_masks * @bitSizeOf(MaskInt) - bit_length; const last_item_mask = (~@as(MaskInt, 0)) >> @as(ShiftInt, @intCast(padding_bits)); self.masks[num_masks - 1] &= last_item_mask; }