| 1 | const std = @import("std"); |
| 2 | const Elem0 = struct { u32, u8, u16 }; |
| 3 | const Elem1 = struct { a: u32, b: u8, c: u16 }; |
| 4 | fn testMultiArrayList( |
| 5 | list0: std.MultiArrayList(Elem0), |
| 6 | slice0: std.MultiArrayList(Elem0).Slice, |
| 7 | list1: std.MultiArrayList(Elem1), |
| 8 | slice1: std.MultiArrayList(Elem1).Slice, |
| 9 | ) void { |
| 10 | _ = .{ list0, slice0, list1, slice1 }; |
| 11 | } |
| 12 | pub fn main() !void { |
| 13 | var list0: std.MultiArrayList(Elem0) = .{}; |
| 14 | defer list0.deinit(std.heap.page_allocator); |
| 15 | try list0.setCapacity(std.heap.page_allocator, 8); |
| 16 | list0.appendAssumeCapacity(.{ 1, 2, 3 }); |
| 17 | list0.appendAssumeCapacity(.{ 4, 5, 6 }); |
| 18 | list0.appendAssumeCapacity(.{ 7, 8, 9 }); |
| 19 | const slice0 = list0.slice(); |
| 20 | |
| 21 | var list1: std.MultiArrayList(Elem1) = .{}; |
| 22 | defer list1.deinit(std.heap.page_allocator); |
| 23 | try list1.setCapacity(std.heap.page_allocator, 12); |
| 24 | list1.appendAssumeCapacity(.{ .a = 1, .b = 2, .c = 3 }); |
| 25 | list1.appendAssumeCapacity(.{ .a = 4, .b = 5, .c = 6 }); |
| 26 | list1.appendAssumeCapacity(.{ .a = 7, .b = 8, .c = 9 }); |
| 27 | const slice1 = list1.slice(); |
| 28 | |
| 29 | testMultiArrayList(list0, slice0, list1, slice1); |
| 30 | } |