aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/Filesystem/Buffer.h
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2018-09-08 14:52:17 +0800
committerchai <chaifix@163.com>2018-09-08 14:52:17 +0800
commit7c3609b04eabc79db0c0b245a155fc3c5e875053 (patch)
tree9333f727863c8fed738bd16eaf6d9e2f0d4f53b5 /src/libjin/Filesystem/Buffer.h
parent1ccc798ca383fc941d624751293ed88e012900d1 (diff)
*update
Diffstat (limited to 'src/libjin/Filesystem/Buffer.h')
-rw-r--r--src/libjin/Filesystem/Buffer.h26
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: