From 333ac74d917293e85ec431f53fe578e099306e81 Mon Sep 17 00:00:00 2001 From: Andrew Noyes Date: Mon, 26 Feb 2024 10:55:50 -0800 Subject: [PATCH] Use forEachInRange for overfill for Node48 --- ConflictSet.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/ConflictSet.cpp b/ConflictSet.cpp index 96cfe97..421dfee 100644 --- a/ConflictSet.cpp +++ b/ConflictSet.cpp @@ -558,12 +558,11 @@ Node *&getOrCreateChild(Node *&self, uint8_t index, auto *newSelf = allocators->node256.allocate(); memcpy((void *)newSelf, self, offsetof(Node, type)); newSelf->bitSet = self48->bitSet; - for (int i = 0; i < 256; ++i) { - int c = self48->index[i]; - if (c >= 0) { - newSelf->children[i] = self48->children[c]; - } - } + newSelf->bitSet.forEachInRange( + [&](int i) { + newSelf->children[i] = self48->children[self48->index[i]]; + }, + 0, 256); allocators->node48.release(self48); setChildrenParents(newSelf); self = newSelf;