template ZArray::ZArray() : mMaxNbEntries(0), mCurNbEntries(0), mEntries(NULL) { } template ZArray::~ZArray() { DELETEARRAY(mEntries); } template bool ZArray::Resize() { // Get twice as many entries as before mMaxNbEntries = mMaxNbEntries ? (mMaxNbEntries<<1) : 2; // Default nb Entries = 2 // Get some bytes for new entries T* NewEntries = new T[mMaxNbEntries]; CHECKALLOC(NewEntries); // Copy old data if needed if(mCurNbEntries) //CopyMemory(NewEntries, mEntries, mCurNbEntries*sizeof(T)); { for(int k=0; k bool ZArray::Contains(T entry, int* location) const { // Look for the entry for(int i=0;i bool ZArray::Delete(T entry) { // Look for the entry for(int i=0;i int ZArray::GetUsedRam() const { return sizeof(ZArray) + mMaxNbEntries * sizeof(T); }