diff options
Diffstat (limited to 'aoc/2021/10/stack.zig')
-rw-r--r-- | aoc/2021/10/stack.zig | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/aoc/2021/10/stack.zig b/aoc/2021/10/stack.zig deleted file mode 100644 index 1002d61..0000000 --- a/aoc/2021/10/stack.zig +++ /dev/null @@ -1,39 +0,0 @@ -const Allocator = @import("std").mem.Allocator; - -pub fn Stack(comptime T: type) type { - return struct { - allocator: *Allocator, - memory: []T, - len: usize, - - const Self = @This(); - - pub fn alloc(allocator: *Allocator, size: usize) !Self { - return Self{ - .allocator = allocator, - .memory = try allocator.alloc(T, size), - .len = 0, - }; - } - - pub fn free(self: *Self) void { - self.allocator.free(self.memory); - self.* = undefined; - } - - pub fn push(self: *Self, node: T) void { - self.memory[self.len] = node; - self.len += 1; - } - - pub fn pop(self: *Self) T { - self.len -= 1; - return self.memory[self.len]; - } - - pub fn reset(self: *Self) void { - self.len = 0; - } - }; -} - |