Курсовая работа: Системное программирование для операционных систем

template <class T> void __fastcall TArray<T>::Clear(void) { fCount=0; }

template <class T> void __fastcall TArray<T>::SetCount(int NewCount)

{

fCount=NewCount;

if(fCount<0) fCount=0;

if(fCount>fLength) fCount=fLength;

}

template <class T> void __fastcall TArray<T>::Insert(int Index,T Item)

{

if(Index<0 || Index>fCount) return;

if (fCount==fLength) SetLength(fLength+5);

if (Index<fCount) Move(&fItems[Index],&fItems[Index+1],(fCount-Index)*sizeof(T));

fItems[Index]=Item;

fCount++;

}

template <class T> void __fastcall TArray<T>::Delete(int Index)

{

if(Index<0 || Index>fCount-1) return;

if (Index<fCount-1) Move(&fItems[Index+1],&fItems[Index],(fCount-1-Index)*sizeof(T));

fCount--;

//if (fCount==fLength-6) SetLength(fCount+1);

}

template <class T> void __fastcall TArray<T>::SetLength (int NewLen)

{

if (NewLen<0 || fLength==0 && NewLen==0) return; else

if (fLength==0) fItems=(T *)SysGetMem(NewLen*sizeof(T));else

if (NewLen==0) SysFreeMem(fItems);else fItems=(T *)SysReallocMem(fItems,NewLen*sizeof(T));

fLength=NewLen;

if (fLength<fCount) fCount=fLength;

К-во Просмотров: 541
Бесплатно скачать Курсовая работа: Системное программирование для операционных систем