Files
bun.sh/src/collections.zig
taylor.fish c58d2e3911 Add generic-allocator ArrayList (#22917)
Add a version of `ArrayList` that takes a generic `Allocator` type
parameter. This matches the interface of smart pointers like
`bun.ptr.Owned` and `bun.ptr.Shared`.

This type behaves like a managed `ArrayList` but has no overhead if
`Allocator` is a zero-sized type, like `bun.DefaultAllocator`.

(For internal tracking: fixes STAB-1267)

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-09-26 15:19:45 -07:00

18 lines
1.1 KiB
Zig

pub const MultiArrayList = @import("./collections/multi_array_list.zig").MultiArrayList;
pub const baby_list = @import("./collections/baby_list.zig");
pub const BabyList = baby_list.BabyList;
pub const ByteList = baby_list.ByteList; // alias of BabyList(u8)
pub const OffsetByteList = baby_list.OffsetByteList;
pub const bit_set = @import("./collections/bit_set.zig");
pub const AutoBitSet = bit_set.AutoBitSet;
pub const HiveArray = @import("./collections/hive_array.zig").HiveArray;
pub const BoundedArray = @import("./collections/bounded_array.zig").BoundedArray;
pub const array_list = @import("./collections/array_list.zig");
pub const ArrayList = array_list.ArrayList; // any `std.mem.Allocator`
pub const ArrayListDefault = array_list.ArrayListDefault; // always default allocator (no overhead)
pub const ArrayListIn = array_list.ArrayListIn; // specific type of generic allocator
pub const ArrayListAligned = array_list.ArrayListAligned;
pub const ArrayListAlignedDefault = array_list.ArrayListAlignedDefault;
pub const ArrayListAlignedIn = array_list.ArrayListAlignedIn;