aboutsummaryrefslogtreecommitdiff
path: root/lib/std/multi_array_list.zig
AgeCommit message (Collapse)Author
2021-05-08Merge remote-tracking branch 'origin/master' into stage2-whole-file-astgenAndrew Kelley
Conflicts: * doc/langref.html.in * lib/std/enums.zig * lib/std/fmt.zig * lib/std/hash/auto_hash.zig * lib/std/math.zig * lib/std/mem.zig * lib/std/meta.zig * test/behavior/alignof.zig * test/behavior/bitcast.zig * test/behavior/bugs/1421.zig * test/behavior/cast.zig * test/behavior/ptrcast.zig * test/behavior/type_info.zig * test/behavior/vector.zig Master branch added `try` to a bunch of testing function calls, and some lines also had changed how to refer to the native architecture and other `@import("builtin")` stuff.
2021-05-08std: update usage of std.testingVeikka Tuominen
2021-04-19std.MultiArrayList: ensureUnusedCapacity/ensureTotalCapacityAndrew Kelley
Same as c8ae581fef6506a8234cdba1355ba7f0f449031a, but for MultiArrayList.
2021-03-12std: Handle empty MultiArrayList in items()LemonBoy
Closes #8211
2021-03-05std: fix memory leak in MultiArrayListVeikka Tuominen
2021-03-03translate-c: fix c tokenizer giving invalid tokensVeikka Tuominen
2021-02-24MultiArrayList: use @memcpy as a workaroundAndrew Kelley
Reverts bf642204b373e01314ecfb0c50a643dc4b05746f and uses a different workaround, suggested by @LemonBoy. There is either a compiler bug or a design flaw somewhere around here. It does not have to block this branch, but I need to understand exactly what's going on here and make it so that nobody ever has to run into this problem again.
2021-02-23std.MultiArrayList: add workaround for LLVM bugAndrew Kelley
2021-02-05std.MultiArrayList: use `@memset` builtin for undefinedAndrew Kelley
See comment for more details
2021-02-05std.MultiArrayList: implement review commentsIsaac Freund
2021-01-30add std.MultiArrayListAndrew Kelley
Also known as "Struct-Of-Arrays" or "SOA". The purpose of this data structure is to provide a similar API to ArrayList but instead of the element type being a struct, the fields of the struct are in N different arrays, all with the same length and capacity. Having this abstraction means we can put them in the same allocation, avoiding overhead with the allocator. It also saves a tiny bit of overhead from the redundant capacity and length fields, since each struct element shares the same value. This is an alternate implementation to #7854.