Usage example of the Arena allocator in Zig
zig-arena-allocator.zig
14 lines 470 B view raw
1pub fn init(allocator: std.mem.Allocator) !GameData { 2 var aa = std.heap.ArenaAllocator.init(allocator); 3 return .{ 4 .arena_allocator = aa, 5 .id_list = try aa.allocator().alloc(u64, 0), 6 .model_list = try aa.allocator().alloc(Mesh, 0), 7 .position_x_list = try aa.allocator().alloc(f64, 0), 8 .position_y_list = try aa.allocator().alloc(f64, 0), 9 }; 10} 11 12pub fn deinit(self: *GameData) void { 13 self.arena_allocator.deinit(); 14}