Use CollectionIterator in CollectionData::memoryUsage()

This commit is contained in:
Benoit Blanchon
2023-07-03 10:31:17 +02:00
parent ec4c73db0b
commit 5ceb5d1813

View File

@ -74,10 +74,10 @@ inline void CollectionData::remove(iterator it, ResourceManager* resources) {
inline size_t CollectionData::memoryUsage() const {
size_t total = 0;
for (VariantSlot* s = head_; s; s = s->next()) {
total += sizeof(VariantSlot) + s->data()->memoryUsage();
if (s->ownsKey())
total += sizeofString(strlen(s->key()));
for (auto it = createIterator(); !it.done(); it.next()) {
total += sizeof(VariantSlot) + it->memoryUsage();
if (it.ownsKey())
total += sizeofString(strlen(it.key()));
}
return total;
}