aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/filesystem/buffer.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libjin/filesystem/buffer.h')
-rw-r--r--src/libjin/filesystem/buffer.h300
1 files changed, 150 insertions, 150 deletions
diff --git a/src/libjin/filesystem/buffer.h b/src/libjin/filesystem/buffer.h
index 2b5be6a..8056fd5 100644
--- a/src/libjin/filesystem/buffer.h
+++ b/src/libjin/filesystem/buffer.h
@@ -12,156 +12,156 @@
namespace JinEngine
{
- namespace Filesystem
- {
-
- ///
- /// Data buffer allocated on heap.
- ///
- class Buffer : public Temporary
- {
- public:
- ///
- /// Buffer constructor.
- ///
- Buffer()
- : mData(0)
- , mSize(0)
- {
- }
-
- ///
- /// Copy constructor.
- ///
- /// @param src Buffer source.
- ///
- Buffer(const Buffer& src)
- {
- delete[] mData;
- mSize = src.mSize;
- mData = new byte[mSize];
- memcpy(mData, src.mData, mSize);
- }
-
- ///
- /// Buffer constructor.
- ///
- /// @param data Buffer data.
- /// @param size Size of buffer.
- ///
- Buffer(void* data, int size)
- {
- mSize = size;
- mData = new byte[mSize];
- memcpy(mData, data, mSize);
- }
-
- ///
- /// Buffer constructor.
- ///
- /// @param size Size of data.
- ///
- Buffer(size_t size)
- {
- mData = new byte[size];
- memset(mData, 0, size);
- mSize = size;
- }
-
- ///
- /// Buffer destructor.
- ///
- ~Buffer()
- {
- delete[] mData;
- mSize = 0;
- }
-
- ///
- /// Set buffer data.
- ///
- /// @param data Buffer data.
- /// @param size Size of data.
- ///
- void set(byte* data, size_t size)
- {
- if (data == nullptr)
- return;
- if (mSize != size)
- {
- delete mData;
- mData = new byte[size];
- }
- mSize = size;
- memcpy(mData, data, size);
- }
-
- ///
- /// Bind buffer data.
- ///
- /// @param data Buffer data.
- /// @param size Size of buffer.
- ///
- void bind(byte* data, size_t size)
- {
- if (mData != nullptr)
- delete mData;
- mSize = size;
- mData = data;
- }
-
- ///
- /// Buffer assignment.
- ///
- /// @param buffer Buffer to copy.
- ///
- void operator = (const Buffer& buffer)
- {
- delete[] mData;
- mSize = buffer.mSize;
- mData = new byte[mSize];
- memcpy(mData, buffer.mData, mSize);
- }
-
- ///
- /// Get data addresss.
- ///
- /// @return Data address.
- ///
- const byte* operator &()
- {
- return mData;
- }
-
- ///
- /// Get data size.
- ///
- /// @return Size of data.
- ///
- const inline size_t size()
- {
- return mSize;
- }
-
- ///
- /// Clear data.
- ///
- void clear()
- {
- if (mData == nullptr)
- return;
- delete mData;
- mData = nullptr;
- mSize = 0;
- }
-
- private:
- byte* mData;
- size_t mSize;
-
- };
-
- } // namespace Filesystem
+ namespace Filesystem
+ {
+
+ ///
+ /// Data buffer allocated on heap.
+ ///
+ class Buffer : public Temporary
+ {
+ public:
+ ///
+ /// Buffer constructor.
+ ///
+ Buffer()
+ : mData(0)
+ , mSize(0)
+ {
+ }
+
+ ///
+ /// Copy constructor.
+ ///
+ /// @param src Buffer source.
+ ///
+ Buffer(const Buffer& src)
+ {
+ delete[] mData;
+ mSize = src.mSize;
+ mData = new byte[mSize];
+ memcpy(mData, src.mData, mSize);
+ }
+
+ ///
+ /// Buffer constructor.
+ ///
+ /// @param data Buffer data.
+ /// @param size Size of buffer.
+ ///
+ Buffer(void* data, int size)
+ {
+ mSize = size;
+ mData = new byte[mSize];
+ memcpy(mData, data, mSize);
+ }
+
+ ///
+ /// Buffer constructor.
+ ///
+ /// @param size Size of data.
+ ///
+ Buffer(size_t size)
+ {
+ mData = new byte[size];
+ memset(mData, 0, size);
+ mSize = size;
+ }
+
+ ///
+ /// Buffer destructor.
+ ///
+ ~Buffer()
+ {
+ delete[] mData;
+ mSize = 0;
+ }
+
+ ///
+ /// Set buffer data.
+ ///
+ /// @param data Buffer data.
+ /// @param size Size of data.
+ ///
+ void set(byte* data, size_t size)
+ {
+ if (data == nullptr)
+ return;
+ if (mSize != size)
+ {
+ delete mData;
+ mData = new byte[size];
+ }
+ mSize = size;
+ memcpy(mData, data, size);
+ }
+
+ ///
+ /// Bind buffer data.
+ ///
+ /// @param data Buffer data.
+ /// @param size Size of buffer.
+ ///
+ void bind(byte* data, size_t size)
+ {
+ if (mData != nullptr)
+ delete mData;
+ mSize = size;
+ mData = data;
+ }
+
+ ///
+ /// Buffer assignment.
+ ///
+ /// @param buffer Buffer to copy.
+ ///
+ void operator = (const Buffer& buffer)
+ {
+ delete[] mData;
+ mSize = buffer.mSize;
+ mData = new byte[mSize];
+ memcpy(mData, buffer.mData, mSize);
+ }
+
+ ///
+ /// Get data addresss.
+ ///
+ /// @return Data address.
+ ///
+ const byte* operator &()
+ {
+ return mData;
+ }
+
+ ///
+ /// Get data size.
+ ///
+ /// @return Size of data.
+ ///
+ const inline size_t size()
+ {
+ return mSize;
+ }
+
+ ///
+ /// Clear data.
+ ///
+ void clear()
+ {
+ if (mData == nullptr)
+ return;
+ delete mData;
+ mData = nullptr;
+ mSize = 0;
+ }
+
+ private:
+ byte* mData;
+ size_t mSize;
+
+ };
+
+ } // namespace Filesystem
} // namespace JinEngine
#endif // jin_filesystem