]> git.lizzy.rs Git - minetest.git/blobdiff - src/util/pointer.h
Remove superfluous pointer null checks
[minetest.git] / src / util / pointer.h
index 7f6654787814527f2c38e715a2e8f1f9744e7724..f68269882f22ccd1ce36fbb298292f0c5aaf5044 100644 (file)
@@ -24,80 +24,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include "../debug.h" // For assert()
 #include <cstring>
 
-template <typename T>
-class SharedPtr
-{
-public:
-       SharedPtr(T *t=NULL)
-       {
-               refcount = new int;
-               *refcount = 1;
-               ptr = t;
-       }
-       SharedPtr(SharedPtr<T> &t)
-       {
-               //*this = t;
-               drop();
-               refcount = t.refcount;
-               (*refcount)++;
-               ptr = t.ptr;
-       }
-       ~SharedPtr()
-       {
-               drop();
-       }
-       SharedPtr<T> & operator=(T *t)
-       {
-               drop();
-               refcount = new int;
-               *refcount = 1;
-               ptr = t;
-               return *this;
-       }
-       SharedPtr<T> & operator=(SharedPtr<T> &t)
-       {
-               drop();
-               refcount = t.refcount;
-               (*refcount)++;
-               ptr = t.ptr;
-               return *this;
-       }
-       T* operator->()
-       {
-               return ptr;
-       }
-       T & operator*()
-       {
-               return *ptr;
-       }
-       bool operator!=(T *t)
-       {
-               return ptr != t;
-       }
-       bool operator==(T *t)
-       {
-               return ptr == t;
-       }
-       T & operator[](unsigned int i)
-       {
-               return ptr[i];
-       }
-private:
-       void drop()
-       {
-               assert((*refcount) > 0);
-               (*refcount)--;
-               if(*refcount == 0)
-               {
-                       delete refcount;
-                       if(ptr != NULL)
-                               delete ptr;
-               }
-       }
-       T *ptr;
-       int *refcount;
-};
-
 template <typename T>
 class Buffer
 {
@@ -171,8 +97,7 @@ class Buffer
 private:
        void drop()
        {
-               if(data)
-                       delete[] data;
+               delete[] data;
        }
        T *data;
        unsigned int m_size;
@@ -288,8 +213,7 @@ class SharedBuffer
                (*refcount)--;
                if(*refcount == 0)
                {
-                       if(data)
-                               delete[] data;
+                       delete[] data;
                        delete refcount;
                }
        }