コード例 #1
0
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);
    }
  }
コード例 #2
0
ACompareBase<_ElementType> * ACompare<_ElementType, _ExtraDataType>::copy_new() const
  {
  tACompareBase * func_p = new tACompare(*this);

  A_VERIFY_MEMORY(func_p != nullptr, tACompare);

  return func_p;
  } 
コード例 #3
0
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;
  } 
コード例 #4
0
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;
  } 
コード例 #5
0
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;
  } 
コード例 #6
0
 AObjBlock(uint32_t size) :
   m_size(size)
   {
   m_objects_a = AMemory::new_array<_ObjectType>(size, "AObjBlock");
   A_VERIFY_MEMORY(m_objects_a != nullptr, tObjBlock);
   }