/***************************************************************************************************************************************************** Define the array Template For the use of array ***********************************************************************************************************************************************************/ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////// Define the array Template For the use of array /////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Constructor of an Array template ZArray::ZArray() : mMaxNbEntries(0), mCurNbEntries(0), mEntries(NULL) { } // Destructor of an Array template ZArray::~ZArray() { DELETEARRAY(mEntries); } // Function for the resize of an Array template bool ZArray::Resize() { 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); }