示例#1
0
template<class TA> void DynArray_cl<TA>::Resize(unsigned int newSize)
{
  if (newSize==size) return;

  TA *tempData;
  int copySize;

  if (newSize > size)
    copySize = size;
  else
    copySize = newSize;
  tempData = data;
  if (newSize > 0)
    data = (TA*)VBaseAlloc(sizeof(TA)*newSize);
  else
    data = NULL;
  size = newSize;
  Init(defaultValue);
  if ( (size > 0) && (tempData != NULL) )
  {
    for (int i = 0; i < copySize; i++)
      data[i] = tempData[i];
  }
  if (tempData)
    VBaseDealloc((void*)tempData);
}
示例#2
0
template<class TA> void DynObjArray_cl<TA>::Resize(unsigned int newSize)
{
  if (newSize==size) return;

  TA *tempData;
  int copySize;

  if (newSize > size)
    copySize = size;
  else
    copySize = newSize;
  tempData = data;
  if (newSize > 0)
  {
    data = (TA*)VBaseAlloc(sizeof(TA)*newSize);
    VConstructElements<TA>(data, newSize);
  }    
  else
    data = NULL;
    
  int oldSize = size;
  size = newSize;
  Init(defaultValue);
  if ( (size > 0) && (tempData != NULL) )
  {
    for (int i = 0; i < copySize; i++)
      data[i] = tempData[i];
  }
  
  if (tempData)
  {
    VDestructElements<TA>(tempData, oldSize);
    VBaseDealloc(tempData);
  }    
}
示例#3
0
template<class TA> DynArray_cl<TA>::~DynArray_cl()
{
  if (data)
    VBaseDealloc((void*) data);

  data = NULL;
}
示例#4
0
template<class TA> DynObjArray_cl<TA>::~DynObjArray_cl()
{
  if (data)
  {
    VDestructElements<TA>(data, size);
    VBaseDealloc(data);
  }
  data = NULL;
}
示例#5
0
template<class TA> void DynObjArray_cl<TA>::Reset()
{
  if (data)
  {
    VDestructElements<TA>(data, size);
    VBaseDealloc(data);
  }
  data = NULL;
  size = 0;
}
示例#6
0
 void operator delete(void *ptr)
 {
   VBaseDealloc(ptr);
 }
示例#7
0
template<class TA> void DynArray_cl<TA>::Reset()
{
  if (data) VBaseDealloc(data);
  data = NULL;
  size = 0;
}
示例#8
0
 inline void  VISION_CDECL operator delete[](void* ptr, const std::nothrow_t&) throw() try { VBaseDealloc(ptr);        } catch(...)            { }
示例#9
0
 inline void  VISION_CDECL operator delete[](void *ptr) throw()                                { VBaseDealloc(ptr); }