1const std = @import("std");
2const Elem0 = struct { u32, u8, u16 };
3const Elem1 = struct { a: u32, b: u8, c: u16 };
4fn 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}
12pub 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}