Commit 09d13104be
Changed files (1)
lib
std
lib/std/bit_set.zig
@@ -859,6 +859,18 @@ pub const DynamicBitSetUnmanaged = struct {
self.masks[maskIndex(index)] &= ~maskBit(index);
}
+ /// Set all bits to 0.
+ pub fn unsetAll(self: *Self) void {
+ const masks_len = numMasks(self.bit_length);
+ @memset(self.masks[0..masks_len], 0);
+ }
+
+ /// Set all bits to 1.
+ pub fn setAll(self: *Self) void {
+ const masks_len = numMasks(self.bit_length);
+ @memset(self.masks[0..masks_len], std.math.maxInt(MaskInt));
+ }
+
/// Flips a specific bit in the bit set
pub fn toggle(self: *Self, index: usize) void {
assert(index < self.bit_length);