aboutsummaryrefslogtreecommitdiff
path: root/src/util/pointer.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/pointer.h')
-rw-r--r--src/util/pointer.h103
1 files changed, 33 insertions, 70 deletions
diff --git a/src/util/pointer.h b/src/util/pointer.h
index d29ec8739..ea868b3f0 100644
--- a/src/util/pointer.h
+++ b/src/util/pointer.h
@@ -23,8 +23,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "debug.h" // For assert()
#include <cstring>
-template <typename T>
-class Buffer
+template <typename T> class Buffer
{
public:
Buffer()
@@ -35,7 +34,7 @@ public:
Buffer(unsigned int size)
{
m_size = size;
- if(size != 0)
+ if (size != 0)
data = new T[size];
else
data = NULL;
@@ -43,61 +42,41 @@ public:
Buffer(const Buffer &buffer)
{
m_size = buffer.m_size;
- if(m_size != 0)
- {
+ if (m_size != 0) {
data = new T[buffer.m_size];
memcpy(data, buffer.data, buffer.m_size);
- }
- else
+ } else
data = NULL;
}
Buffer(const T *t, unsigned int size)
{
m_size = size;
- if(size != 0)
- {
+ if (size != 0) {
data = new T[size];
memcpy(data, t, size);
- }
- else
+ } else
data = NULL;
}
- ~Buffer()
+ ~Buffer() { drop(); }
+ Buffer &operator=(const Buffer &buffer)
{
- drop();
- }
- Buffer& operator=(const Buffer &buffer)
- {
- if(this == &buffer)
+ if (this == &buffer)
return *this;
drop();
m_size = buffer.m_size;
- if(m_size != 0)
- {
+ if (m_size != 0) {
data = new T[buffer.m_size];
memcpy(data, buffer.data, buffer.m_size);
- }
- else
+ } else
data = NULL;
return *this;
}
- T & operator[](unsigned int i) const
- {
- return data[i];
- }
- T * operator*() const
- {
- return data;
- }
- unsigned int getSize() const
- {
- return m_size;
- }
+ T &operator[](unsigned int i) const { return data[i]; }
+ T *operator*() const { return data; }
+ unsigned int getSize() const { return m_size; }
+
private:
- void drop()
- {
- delete[] data;
- }
+ void drop() { delete[] data; }
T *data;
unsigned int m_size;
};
@@ -109,8 +88,7 @@ private:
* ONLY use in a single-threaded context! *
* *
************************************************/
-template <typename T>
-class SharedBuffer
+template <typename T> class SharedBuffer
{
public:
SharedBuffer()
@@ -123,12 +101,12 @@ public:
SharedBuffer(unsigned int size)
{
m_size = size;
- if(m_size != 0)
+ if (m_size != 0)
data = new T[m_size];
else
data = NULL;
refcount = new unsigned int;
- memset(data,0,sizeof(T)*m_size);
+ memset(data, 0, sizeof(T) * m_size);
(*refcount) = 1;
}
SharedBuffer(const SharedBuffer &buffer)
@@ -138,9 +116,9 @@ public:
refcount = buffer.refcount;
(*refcount)++;
}
- SharedBuffer & operator=(const SharedBuffer & buffer)
+ SharedBuffer &operator=(const SharedBuffer &buffer)
{
- if(this == &buffer)
+ if (this == &buffer)
return *this;
drop();
m_size = buffer.m_size;
@@ -155,12 +133,10 @@ public:
SharedBuffer(const T *t, unsigned int size)
{
m_size = size;
- if(m_size != 0)
- {
+ if (m_size != 0) {
data = new T[m_size];
memcpy(data, t, m_size);
- }
- else
+ } else
data = NULL;
refcount = new unsigned int;
(*refcount) = 1;
@@ -172,42 +148,29 @@ public:
{
m_size = buffer.getSize();
if (m_size != 0) {
- data = new T[m_size];
- memcpy(data, *buffer, buffer.getSize());
- }
- else
+ data = new T[m_size];
+ memcpy(data, *buffer, buffer.getSize());
+ } else
data = NULL;
refcount = new unsigned int;
(*refcount) = 1;
}
- ~SharedBuffer()
- {
- drop();
- }
- T & operator[](unsigned int i) const
+ ~SharedBuffer() { drop(); }
+ T &operator[](unsigned int i) const
{
assert(i < m_size);
return data[i];
}
- T * operator*() const
- {
- return data;
- }
- unsigned int getSize() const
- {
- return m_size;
- }
- operator Buffer<T>() const
- {
- return Buffer<T>(data, m_size);
- }
+ T *operator*() const { return data; }
+ unsigned int getSize() const { return m_size; }
+ operator Buffer<T>() const { return Buffer<T>(data, m_size); }
+
private:
void drop()
{
assert((*refcount) > 0);
(*refcount)--;
- if(*refcount == 0)
- {
+ if (*refcount == 0) {
delete[] data;
delete refcount;
}