diff options
author | chai <chaifix@163.com> | 2018-09-08 14:52:17 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2018-09-08 14:52:17 +0800 |
commit | 7c3609b04eabc79db0c0b245a155fc3c5e875053 (patch) | |
tree | 9333f727863c8fed738bd16eaf6d9e2f0d4f53b5 /src/libjin/Filesystem/Buffer.h | |
parent | 1ccc798ca383fc941d624751293ed88e012900d1 (diff) |
*update
Diffstat (limited to 'src/libjin/Filesystem/Buffer.h')
-rw-r--r-- | src/libjin/Filesystem/Buffer.h | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/src/libjin/Filesystem/Buffer.h b/src/libjin/Filesystem/Buffer.h index 3cd92cd..5cb6468 100644 --- a/src/libjin/Filesystem/Buffer.h +++ b/src/libjin/Filesystem/Buffer.h @@ -8,27 +8,43 @@ namespace jin namespace filesystem { + /** + * ڶϷָռbuffer + */ class Buffer { public: Buffer() : data(0), size(0) {} Buffer(const Buffer& src) { - delete data; + delete[] data; size = src.size; data = new char[size]; memcpy(data, src.data, size); } - inline Buffer(void* d, int s) + Buffer(void* d, int s) { - data = new char(size); + data = new char[size]; memcpy(data, d, size); size = s; } - inline ~Buffer() + Buffer(size_t s) + { + data = new char[s]; + memset(data, 0, s); + size = s; + } + ~Buffer() { + delete[] data; size = 0; - delete[] data; + } + void operator = (const Buffer& buffer) + { + delete[] data; + size = buffer.size; + data = new char[size]; + memcpy(data, buffer.data, size); } public: |