diff options
| -rw-r--r-- | src/db.zig | 18 |
1 files changed, 18 insertions, 0 deletions
@@ -183,6 +183,12 @@ pub fn SetView(comptime K: type) type { try self.dbi.del(self.item_idx(k)); } + pub fn clear(self: *Self) !void { + var it = self.iterator(); + while (it.next()) |i| { + try self.del(i); + } + } pub fn has(self: Self, k: K) !bool { return self.dbi.has(self.item_idx(k)); } @@ -357,6 +363,12 @@ pub fn ListView(comptime V: type) type { try self.dbi.del(self.item_idx(k)); } + pub fn clear(self: *Self) !void { + var it = self.iterator(); + while (it.next()) |kv| { + try self.del(kv.key); + } + } pub fn len(self: Self) usize { return self.head.len; } @@ -513,6 +525,12 @@ pub fn SetListView(comptime K: type, comptime V: type) type { try self.dbi.del(self.item_idx(k)); } + pub fn clear(self: *Self) !void { + var it = self.iterator(); + while (it.next()) |kv| { + try self.del(kv.key); + } + } pub fn has(self: Self, k: K) !bool { return self.dbi.has(self.item_idx(k)); } |
