From 04ddf3ec719ac6319c3f08c3a26a2f7534b0a63f Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Fri, 14 May 2004 01:46:07 +0000 Subject: [PATCH] cleanup --- stepmania/src/crypto51/smartptr.h | 170 ------------------------------ 1 file changed, 170 deletions(-) diff --git a/stepmania/src/crypto51/smartptr.h b/stepmania/src/crypto51/smartptr.h index 00dab21042..472006bcc2 100644 --- a/stepmania/src/crypto51/smartptr.h +++ b/stepmania/src/crypto51/smartptr.h @@ -2,7 +2,6 @@ #define CRYPTOPP_SMARTPTR_H #include "config.h" -#include NAMESPACE_BEGIN(CryptoPP) @@ -41,175 +40,6 @@ protected: template member_ptr::~member_ptr() {delete m_p;} template void member_ptr::reset(T *p) {delete m_p; m_p = p;} -// ******************************************************** - -template class value_ptr : public member_ptr -{ -public: - value_ptr(const T &obj) : member_ptr(new T(obj)) {} - value_ptr(T *p = NULL) : member_ptr(p) {} - value_ptr(const value_ptr& rhs) - : member_ptr(rhs.m_p ? new T(*rhs.m_p) : NULL) {} - - value_ptr& operator=(const value_ptr& rhs); - bool operator==(const value_ptr& rhs) - { - return (!m_p && !rhs.m_p) || (m_p && rhs.m_p && *m_p == *rhs.m_p); - } -}; - -template value_ptr& value_ptr::operator=(const value_ptr& rhs) -{ - T *old_p = m_p; - m_p = rhs.m_p ? new T(*rhs.m_p) : NULL; - delete old_p; - return *this; -} - -// ******************************************************** - -template class clonable_ptr : public member_ptr -{ -public: - clonable_ptr(const T &obj) : member_ptr(obj.Clone()) {} - clonable_ptr(T *p = NULL) : member_ptr(p) {} - clonable_ptr(const clonable_ptr& rhs) - : member_ptr(rhs.m_p ? rhs.m_p->Clone() : NULL) {} - - clonable_ptr& operator=(const clonable_ptr& rhs); -}; - -template clonable_ptr& clonable_ptr::operator=(const clonable_ptr& rhs) -{ - T *old_p = m_p; - m_p = rhs.m_p ? rhs.m_p->Clone() : NULL; - delete old_p; - return *this; -} - -// ******************************************************** - -template class counted_ptr -{ -public: - explicit counted_ptr(T *p = 0); - counted_ptr(const T &r) : m_p(0) {attach(r);} - counted_ptr(const counted_ptr& rhs); - - ~counted_ptr(); - - const T& operator*() const { return *m_p; } - T& operator*() { return *m_p; } - - const T* operator->() const { return m_p; } - T* operator->() { return get(); } - - const T* get() const { return m_p; } - T* get(); - - void attach(const T &p); - - counted_ptr & operator=(const counted_ptr& rhs); - -private: - T *m_p; -}; - -template counted_ptr::counted_ptr(T *p) - : m_p(p) -{ - if (m_p) - m_p->m_referenceCount = 1; -} - -template counted_ptr::counted_ptr(const counted_ptr& rhs) - : m_p(rhs.m_p) -{ - if (m_p) - m_p->m_referenceCount++; -} - -template counted_ptr::~counted_ptr() -{ - if (m_p && --m_p->m_referenceCount == 0) - delete m_p; -} - -template void counted_ptr::attach(const T &r) -{ - if (m_p && --m_p->m_referenceCount == 0) - delete m_p; - if (r.m_referenceCount == 0) - { - m_p = r.clone(); - m_p->m_referenceCount = 1; - } - else - { - m_p = const_cast(&r); - m_p->m_referenceCount++; - } -} - -template T* counted_ptr::get() -{ - if (m_p && m_p->m_referenceCount > 1) - { - T *temp = m_p->clone(); - m_p->m_referenceCount--; - m_p = temp; - m_p->m_referenceCount = 1; - } - return m_p; -} - -template counted_ptr & counted_ptr::operator=(const counted_ptr& rhs) -{ - if (m_p != rhs.m_p) - { - if (m_p && --m_p->m_referenceCount == 0) - delete m_p; - m_p = rhs.m_p; - if (m_p) - m_p->m_referenceCount++; - } - return *this; -} - -// ******************************************************** - -template class vector_member_ptrs -{ -public: - vector_member_ptrs(unsigned int size=0) - : _size(size) {ptr = new member_ptr[_size];} - ~vector_member_ptrs() - {delete [] ptr;} - - member_ptr& operator[](unsigned int index) - {assert(index<_size); return ptr[index];} - const member_ptr& operator[](unsigned int index) const - {assert(index<_size); return ptr[index];} - - unsigned int size() const {return _size;} - void resize(unsigned int newSize) - { - member_ptr *newPtr = new member_ptr[newSize]; - for (unsigned int i=0; i &c); // copy not allowed - void operator=(const vector_member_ptrs &x); // assignment not allowed - - unsigned int _size; - member_ptr *ptr; -}; - NAMESPACE_END #endif