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); }
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); } }
template<class TA> DynArray_cl<TA>::~DynArray_cl() { if (data) VBaseDealloc((void*) data); data = NULL; }
template<class TA> DynObjArray_cl<TA>::~DynObjArray_cl() { if (data) { VDestructElements<TA>(data, size); VBaseDealloc(data); } data = NULL; }
template<class TA> void DynObjArray_cl<TA>::Reset() { if (data) { VDestructElements<TA>(data, size); VBaseDealloc(data); } data = NULL; size = 0; }
void operator delete(void *ptr) { VBaseDealloc(ptr); }
template<class TA> void DynArray_cl<TA>::Reset() { if (data) VBaseDealloc(data); data = NULL; size = 0; }
inline void VISION_CDECL operator delete[](void* ptr, const std::nothrow_t&) throw() try { VBaseDealloc(ptr); } catch(...) { }
inline void VISION_CDECL operator delete[](void *ptr) throw() { VBaseDealloc(ptr); }