treesummaryrefslogcommitdiff
diff options
context:
space:
mode:
authorpatrick-scho2025-03-16 17:18:46 +0100
committerpatrick-scho2025-03-16 17:18:46 +0100
commit1782c4965bb998ce4dcab06e912b1620b056b58d (patch)
tree90da95f5392e3e9e8dd494a0b53af82f3f0d0907
parentf0e641e10d8aaa93eb3db45b2b7fbb7025e7dc0b (diff)
downloadziglmdb-1782c4965bb998ce4dcab06e912b1620b056b58d.tar.gz
ziglmdb-1782c4965bb998ce4dcab06e912b1620b056b58d.zip
add clear method
-rw-r--r--src/db.zig18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/db.zig b/src/db.zig
index 5d7a824..6279a1b 100644
--- a/src/db.zig
+++ b/src/db.zig
@@ -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));
}