diff options
Diffstat (limited to 'src/libs/7zip/win/CPP/Common/DynamicBuffer.h')
-rw-r--r-- | src/libs/7zip/win/CPP/Common/DynamicBuffer.h | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/src/libs/7zip/win/CPP/Common/DynamicBuffer.h b/src/libs/7zip/win/CPP/Common/DynamicBuffer.h deleted file mode 100644 index eaac123e1..000000000 --- a/src/libs/7zip/win/CPP/Common/DynamicBuffer.h +++ /dev/null @@ -1,50 +0,0 @@ -// Common/DynamicBuffer.h - -#ifndef __COMMON_DYNAMIC_BUFFER_H -#define __COMMON_DYNAMIC_BUFFER_H - -#include "Buffer.h" - -template <class T> class CDynamicBuffer: public CBuffer<T> -{ - void GrowLength(size_t size) - { - size_t delta; - if (this->_capacity > 64) - delta = this->_capacity / 4; - else if (this->_capacity > 8) - delta = 16; - else - delta = 4; - delta = MyMax(delta, size); - size_t newCap = this->_capacity + delta; - if (newCap < delta) - newCap = this->_capacity + size; - this->SetCapacity(newCap); - } -public: - CDynamicBuffer(): CBuffer<T>() {}; - CDynamicBuffer(const CDynamicBuffer &buffer): CBuffer<T>(buffer) {}; - CDynamicBuffer(size_t size): CBuffer<T>(size) {}; - CDynamicBuffer& operator=(const CDynamicBuffer &buffer) - { - this->Free(); - if (buffer._capacity > 0) - { - this->SetCapacity(buffer._capacity); - memmove(this->_items, buffer._items, buffer._capacity * sizeof(T)); - } - return *this; - } - void EnsureCapacity(size_t capacity) - { - if (this->_capacity < capacity) - GrowLength(capacity - this->_capacity); - } -}; - -typedef CDynamicBuffer<char> CCharDynamicBuffer; -typedef CDynamicBuffer<wchar_t> CWCharDynamicBuffer; -typedef CDynamicBuffer<unsigned char> CByteDynamicBuffer; - -#endif |