| ... | @@ -1326,18 +1326,17 @@ pub fn ArrayHashMapUnmanaged( | ... | @@ -1326,18 +1326,17 @@ pub fn ArrayHashMapUnmanaged( |
| 1326 | } | 1326 | } |
| 1327 | fn removeFromIndexByIndexGeneric(self: *Self, entry_index: usize, ctx: ByIndexContext, header: *IndexHeader, comptime I: type, indexes: []Index(I)) void { | 1327 | fn removeFromIndexByIndexGeneric(self: *Self, entry_index: usize, ctx: ByIndexContext, header: *IndexHeader, comptime I: type, indexes: []Index(I)) void { |
| 1328 | const slot = self.getSlotByIndex(entry_index, ctx, header, I, indexes); | 1328 | const slot = self.getSlotByIndex(entry_index, ctx, header, I, indexes); |
| 1329 | self.removeSlot(slot, header, I, indexes); | 1329 | removeSlot(slot, header, I, indexes); |
| 1330 | } | 1330 | } |
| 1331 | | 1331 | |
| 1332 | fn removeFromIndexByKey(self: *Self, key: anytype, ctx: anytype, header: *IndexHeader, comptime I: type, indexes: []Index(I)) ?usize { | 1332 | fn removeFromIndexByKey(self: *Self, key: anytype, ctx: anytype, header: *IndexHeader, comptime I: type, indexes: []Index(I)) ?usize { |
| 1333 | const slot = self.getSlotByKey(key, ctx, header, I, indexes) orelse return null; | 1333 | const slot = self.getSlotByKey(key, ctx, header, I, indexes) orelse return null; |
| 1334 | const removed_entry_index = indexes[slot].entry_index; | 1334 | const removed_entry_index = indexes[slot].entry_index; |
| 1335 | self.removeSlot(slot, header, I, indexes); | 1335 | removeSlot(slot, header, I, indexes); |
| 1336 | return removed_entry_index; | 1336 | return removed_entry_index; |
| 1337 | } | 1337 | } |
| 1338 | | 1338 | |
| 1339 | fn removeSlot(self: *Self, removed_slot: usize, header: *IndexHeader, comptime I: type, indexes: []Index(I)) void { | 1339 | fn removeSlot(removed_slot: usize, header: *IndexHeader, comptime I: type, indexes: []Index(I)) void { |
| 1340 | _ = self; | | |
| 1341 | const start_index = removed_slot +% 1; | 1340 | const start_index = removed_slot +% 1; |
| 1342 | const end_index = start_index +% indexes.len; | 1341 | const end_index = start_index +% indexes.len; |
| 1343 | | 1342 | |
| ... | @@ -1622,14 +1621,13 @@ pub fn ArrayHashMapUnmanaged( | ... | @@ -1622,14 +1621,13 @@ pub fn ArrayHashMapUnmanaged( |
| 1622 | if (self.index_header) |header| { | 1621 | if (self.index_header) |header| { |
| 1623 | p("\n", .{}); | 1622 | p("\n", .{}); |
| 1624 | switch (header.capacityIndexType()) { | 1623 | switch (header.capacityIndexType()) { |
| 1625 | .u8 => self.dumpIndex(header, u8), | 1624 | .u8 => dumpIndex(header, u8), |
| 1626 | .u16 => self.dumpIndex(header, u16), | 1625 | .u16 => dumpIndex(header, u16), |
| 1627 | .u32 => self.dumpIndex(header, u32), | 1626 | .u32 => dumpIndex(header, u32), |
| 1628 | } | 1627 | } |
| 1629 | } | 1628 | } |
| 1630 | } | 1629 | } |
| 1631 | fn dumpIndex(self: Self, header: *IndexHeader, comptime I: type) void { | 1630 | fn dumpIndex(header: *IndexHeader, comptime I: type) void { |
| 1632 | _ = self; | | |
| 1633 | const p = std.debug.print; | 1631 | const p = std.debug.print; |
| 1634 | p(" index len=0x{x} type={}\n", .{ header.length(), header.capacityIndexType() }); | 1632 | p(" index len=0x{x} type={}\n", .{ header.length(), header.capacityIndexType() }); |
| 1635 | const indexes = header.indexes(I); | 1633 | const indexes = header.indexes(I); |