diff options
author | Stefan Saraev <stefan@saraev.ca> | 2017-03-27 22:12:40 +0300 |
---|---|---|
committer | Stefan Saraev <stefan@saraev.ca> | 2017-04-07 20:14:12 +0300 |
commit | bee51e139fff45c788b9eb1e161b297d5ee7895b (patch) | |
tree | 69ad126aa511f7cf8ef70047c4ec28cad1f21888 /lib/UnrarXLib/array.hpp | |
parent | 1d718acfb13b0681805867dc6ce4f9715c0d0216 (diff) |
[cleanup] remove UnrarXLib
Diffstat (limited to 'lib/UnrarXLib/array.hpp')
-rw-r--r-- | lib/UnrarXLib/array.hpp | 121 |
1 files changed, 0 insertions, 121 deletions
diff --git a/lib/UnrarXLib/array.hpp b/lib/UnrarXLib/array.hpp deleted file mode 100644 index 3afec70c13..0000000000 --- a/lib/UnrarXLib/array.hpp +++ /dev/null @@ -1,121 +0,0 @@ -#ifndef _RAR_ARRAY_ -#define _RAR_ARRAY_ - -extern ErrorHandler ErrHandler; - -template <class T> class Array -{ - private: - T *Buffer; - int BufSize; - int AllocSize; - public: - Array(); - Array(int Size); - ~Array(); - inline void CleanData(); - inline T& operator [](int Item); - inline int Size(); - void Add(int Items); - void Alloc(int Items); - void Reset(); - void operator = (Array<T> &Src); - void Push(T Item); -}; - -template <class T> void Array<T>::CleanData() -{ - Buffer=NULL; - BufSize=0; - AllocSize=0; -} - - -template <class T> Array<T>::Array() -{ - CleanData(); -} - - -template <class T> Array<T>::Array(int Size) -{ - Buffer=(T *)rarmalloc(sizeof(T)*Size); - if (Buffer==NULL && Size!=0) - ErrHandler.MemoryError(); - - AllocSize=BufSize=Size; -} - - -template <class T> Array<T>::~Array() -{ - if (Buffer!=NULL) - rarfree(Buffer); -} - - -template <class T> inline T& Array<T>::operator [](int Item) -{ - return(Buffer[Item]); -} - - -template <class T> inline int Array<T>::Size() -{ - return(BufSize); -} - - -template <class T> void Array<T>::Add(int Items) -{ - BufSize+=Items; - if (BufSize>AllocSize) - { - int Suggested=AllocSize+AllocSize/4+32; - int NewSize=Max(BufSize,Suggested); - - Buffer=(T *)rarrealloc(Buffer,NewSize*sizeof(T)); - if (Buffer==NULL) - ErrHandler.MemoryError(); - AllocSize=NewSize; - } -} - - -template <class T> void Array<T>::Alloc(int Items) -{ - if (Items>AllocSize) - Add(Items-BufSize); - else - BufSize=Items; -} - - -template <class T> void Array<T>::Reset() -{ - if (Buffer!=NULL) - { - rarfree(Buffer); - Buffer=NULL; - } - BufSize=0; - AllocSize=0; -} - - -template <class T> void Array<T>::operator =(Array<T> &Src) -{ - Reset(); - Alloc(Src.BufSize); - if (Src.BufSize!=0) - memcpy((void *)Buffer,(void *)Src.Buffer,Src.BufSize*sizeof(T)); -} - - -template <class T> void Array<T>::Push(T Item) -{ - Add(1); - (*this)[Size()-1]=Item; -} - -#endif |