#pragma once #include "RE/H/hkArray.h" namespace RE { template class hkLocalArray : public hkArray { public: hkLocalArray(std::int32_t a_capacity) : m_initialCapacity(a_capacity) { this->m_capacityAndFlags = a_capacity | hkArray::kDontDeallocateFlag; m_localMemory = this->data; } ~hkLocalArray() { if (!WasReallocated()) hkArray::clear(); hkDeallocateStack(m_localMemory, m_initialCapacity); } hkBool WasReallocated() const { return m_localMemory != this->m_data; } T* m_localMemory; std::int32_t m_initialCapacity; }; }