// License: Modified MIT (NON-AI) // See the LICENSE file in the root directory for license information. // Copyright 2025 Timothy Prepscius #include "Allocations.h" #include namespace tjp::core::debug { void Allocations::onAllocation (const type_index &t) { auto l = lock_of(mutex); allocations[t.name()].count++; } void Allocations::onDeallocation (const type_index &t) { auto l = lock_of(mutex); allocations[t.name()].count--; } String Allocations::log () { std::ostringstream ss; for (auto &[id, a]: allocations) { if (a.count) ss << id << ": " << a.count << std::endl; } return ss.str(); } Allocations *Allocations::shared() { static Allocations *allocations = new Allocations(); return allocations; } } // namespace