void AObjReusePool<_ObjectType>::append_block(uint32_t size) { #ifdef AORPOOL_USAGE_COUNT // Notify that the pool has grown if (m_block_p && m_grow_f) { (m_grow_f)(*this); } #endif tObjBlock * obj_block_p = new ("tObjBlock") tObjBlock(size); A_VERIFY_MEMORY(obj_block_p != nullptr, tObjReusePool); if (m_block_p) { m_exp_blocks.append(*obj_block_p); m_exp_pool.append_all(obj_block_p->m_objects_a, size); } else { m_block_p = obj_block_p; m_pool.append_all(obj_block_p->m_objects_a, size); } }
ACompareBase<_ElementType> * ACompare<_ElementType, _ExtraDataType>::copy_new() const { tACompareBase * func_p = new tACompare(*this); A_VERIFY_MEMORY(func_p != nullptr, tACompare); return func_p; }
ACompareBase<_ElementType> * ACompareMethod<_OwnerType, _ElementType>::copy_new() const { ACompareMethod<_OwnerType, _ElementType> * func_p = new tACompareMethod(*this); A_VERIFY_MEMORY(func_p != nullptr, tACompareMethod); return func_p; }
AFunctionArgRtnBase<_ArgType, _ReturnType> * AFunctionArgRtn<_ArgType, _ReturnType>::copy_new() const { tAFunctionArgRtnBase * func_p = new tAFunctionArg(*this); A_VERIFY_MEMORY(func_p != nullptr, tAFunctionArg); return func_p; }
AFunctionArgRtnBase<_ArgType, _ReturnType> * AMethodArgRtn<_OwnerType, _ArgType, _ReturnType>::copy_new() const { tAMethodArgRtn * method_p = new tAMethodArgRtn(*this); A_VERIFY_MEMORY(method_p != nullptr, tAMethodArgRtn); return method_p; }
AObjBlock(uint32_t size) : m_size(size) { m_objects_a = AMemory::new_array<_ObjectType>(size, "AObjBlock"); A_VERIFY_MEMORY(m_objects_a != nullptr, tObjBlock); }