[Bf-blender-cvs] [37c6a20] master: Memutil: remove some unused code.

Brecht Van Lommel noreply at git.blender.org
Fri Dec 11 01:51:07 CET 2015


Commit: 37c6a207cedcc7f63a8c91caa2a7064c9c6d0fc0
Author: Brecht Van Lommel
Date:   Fri Dec 11 01:46:28 2015 +0100
Branches: master
https://developer.blender.org/rB37c6a207cedcc7f63a8c91caa2a7064c9c6d0fc0

Memutil: remove some unused code.

===================================================================

M	intern/memutil/CMakeLists.txt
D	intern/memutil/MEM_NonCopyable.h
D	intern/memutil/MEM_RefCountPtr.h
D	intern/memutil/MEM_SmartPtr.h

===================================================================

diff --git a/intern/memutil/CMakeLists.txt b/intern/memutil/CMakeLists.txt
index 3f9f8d6..82e9688 100644
--- a/intern/memutil/CMakeLists.txt
+++ b/intern/memutil/CMakeLists.txt
@@ -39,11 +39,8 @@ set(SRC
 	MEM_Allocator.h
 	MEM_CacheLimiter.h
 	MEM_CacheLimiterC-Api.h
-	MEM_NonCopyable.h
-	MEM_RefCountPtr.h
 	MEM_RefCounted.h
 	MEM_RefCountedC-Api.h
-	MEM_SmartPtr.h
 )
 
 blender_add_lib(bf_intern_memutil "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/intern/memutil/MEM_NonCopyable.h b/intern/memutil/MEM_NonCopyable.h
deleted file mode 100644
index 9378ea7..0000000
--- a/intern/memutil/MEM_NonCopyable.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-/** \file memutil/MEM_NonCopyable.h
- *  \ingroup memutil
- */
-
-/**
- * @file	MEM_NonCopyable.h
- * Declaration of MEM_NonCopyable class.
- */
-
-#ifndef __MEM_NONCOPYABLE_H__
-#define __MEM_NONCOPYABLE_H__
-
-/**
- * Simple class that makes sure sub classes cannot
- * generate standard copy constructors.
- * If you want to make sure that your class does
- * not have any of these cheesy hidden constructors
- * inherit from this class.
- */
-
-class MEM_NonCopyable {
-protected :
-
-	MEM_NonCopyable(
-	) {
-	};
-
-private :
-
-	MEM_NonCopyable (const MEM_NonCopyable *);
-	MEM_NonCopyable (const MEM_NonCopyable &);
-};
-
-#endif
-
diff --git a/intern/memutil/MEM_RefCountPtr.h b/intern/memutil/MEM_RefCountPtr.h
deleted file mode 100644
index ea865ea..0000000
--- a/intern/memutil/MEM_RefCountPtr.h
+++ /dev/null
@@ -1,297 +0,0 @@
-/*
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-/** \file memutil/MEM_RefCountPtr.h
- *  \ingroup memutil
- */
-
-/**
- * \file	MEM_RefCountPtr.h
- * Declaration of MEM_RefCounted and MEM_RefCountable classes.
- * \author Laurence
- */
-
-#ifndef __MEM_REFCOUNTPTR_H__
-#define __MEM_REFCOUNTPTR_H__
-
-#include <stdlib.h> // for NULL !
-
-/**
- * \section MEM_RefCountable
- * This is a base class for reference countable objects.
- * If you want an object to be shared using a reference 
- * counted system derrivce from this class. All subclasses
- * should insist that they are created on the heap, this
- * can be done by makeing all constructors private and 
- * defining a static New() method that returns a ref counted
- * ptr to a new()ly allocated instance. 
- *
- * \section Example subclass
- *
- * \code{.cpp}
- * class MySharedObject : public MEM_RefCountable {
- *
- * private :
- *	MySharedObject() : MEM_RefCountable() { //class specific initialization};
- *  MySharedObject(const MySharedObject &other) // not implemented
- * public :
- *		static	
- *			MEM_RefCountPtr<MySharedObject> 
- *		New(
- *		) {
- *			return MEM_RefCountPtr<MySharedObject>( new MySharedObject());
- *		}
- *		
- *		// other member functions
- * };
- * \endcode
- *
- * Alternitively you may first wish to define a fully functional
- * class and then define a reference counting wrapper for this class.
- * This is useful when the base type can be used without reference
- * counting.
- *
- * E.g.
- *
- * \code{.cpp}
- * class UsefullClass {
- * private :
- *  ...
- * public :
- *
- *      UsefullClass()
- *      UsefullMethod(...)
- *      AnotherUsefullMethod(...)
- * };
- *
- * class RcUsefullClass : public UsefullClass, public MEM_RefCountable
- * {
- * private :
- *      // Override base class public constructor --- forces
- *      // use of New(...)
- *      RcUsefullClass(...)
- * public :
- *
- *  // Override each public constructor of UsefullClass with
- *  // an equivalent static New method returning a MEM_RefCountPtr
- *
- *  static
- *      MEM_RefCountPtr<RcUsefullClass>
- *  New(...) {
- *       return MEM_RefCountPtr<RcUsefullClass> output(
- *           new UsefullClass(...)
- *       );
- *   }
- *
- *  // warning never call destructor directly allow ref counting
- *  // mechanism to handle object lifetime.
- *  ~RcUsefullClass();
- * };
- * \endcode
- *
- */
-
-class MEM_RefCountable {
-private :
-
-	/**
-	 * The reference count!
-	 * We use mutable here because we would like to
-	 * share references of const objects!
-	 * Maybe should think about having decRef()
-	 * another value because we should not be deleting
-	 * non-const objects
-	 */
-
-	mutable int m_count;
-
-protected :
-
-	/**
-	 * Protected constructors
-	 * This class is not for direct instantiation. Sub classes
-	 * should only be allocated on the heap.
-	 */
-
-	MEM_RefCountable (
-	) :
-		m_count (0)
-	{
-	};
-
-	MEM_RefCountable (
-		const MEM_RefCountable &
-	) :
-		m_count (0)
-	{
-	}
-
-public :
-
-		void
-	IncRef(
-	) const {
-		m_count++;
-	}
-
-		int
-	DecRef(
-	) {
-		return (--m_count);
-	}
-
-	~MEM_RefCountable(
-	) {
-		//nothing to do
-	}
-};
-
-/**
- * \section MEM_RefCountPtr
- */
-
-template
-	< class T >
-class MEM_RefCountPtr {
-
-public :
-
-	/**
-	 * Construction from reference - share ownership with
-	 * the right hand side.
-	 */
-
-	MEM_RefCountPtr(
-		const MEM_RefCountPtr &rhs
-	) : m_val (NULL) {
-		ShareOwnership(rhs.m_val);
-	}
-
-	/**
-	 * Construction from ptr - this class shares
-	 * ownership of object val.
-	 */
-
-	MEM_RefCountPtr(
-		const T* val
-	) :
-		m_val (NULL)
-	{
-		ShareOwnership(val);
-	}
-
-	/**
-	 * Default constructor
-	 */
-
-	MEM_RefCountPtr(
-	) :
-		m_val (NULL)
-	{
-	}
-
-	/**
-	 * Type conversion from this class to the type
-	 * of a pointer to the template parameter.
-	 * This means you can pass an instance of this class
-	 * to a function expecting a ptr of type T.
-	 */
-
-	operator T * () const {
-		return m_val;
-	}
-
-
-	MEM_RefCountPtr & operator=(
-		const MEM_RefCountPtr &rhs
-	) {
-		if (this->m_val != rhs.m_val) {
-			ReleaseOwnership();
-			ShareOwnership(rhs.m_val);
-		}
-		return *this;
-	}
-
-	/**
-	 * Overload the operator -> so that it's possible to access
-	 * all the normal methods of the internal ptr.
-	 */
-
-	T * operator->() const {
-		return m_val;
-	}
-
-	/**
-	 * Returrn a reference to the shared object.
-	 */
-
-		T&
-	Ref(
-	) {
-		return *m_val;
-	}
-
-
-	/**
-	 * Destructor - deletes object if it's ref count is zero.
-	 */
-
-	~MEM_RefCountPtr(
-	) {
-		ReleaseOwnership();
-	}
-
-private :
-	
-	/// The ptr owned by this class.
-	T * m_val;
-
-		void
-	ShareOwnership(
-		const T * val
-	) {
-		if (val != NULL) {
-			val->IncRef();
-		}
-		m_val = const_cast<T *>(val);
-	}
-		
-		void
-	ReleaseOwnership(
-	) {
-		if (m_val) {
-			if (m_val->DecRef() == 0) {
-				delete(m_val);
-				m_val = NULL;
-			}
-		}
-	}
-
-};
-
-#endif
-
diff --git a/intern/memutil/MEM_SmartPtr.h b/intern/memutil/MEM_SmartPtr.h
deleted file mode 100644
index e0d7b812..0000000
--- a/intern/memutil/MEM_SmartPtr.h
+++ /dev/null
@@ -1,245 +0,0 @@
-/*
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-/** \file memutil/MEM_SmartPtr.h
- *  \ingroup memutil
- */
-
-/**
- * @file	MEM_SmartPtr.h
- * Declaration of MEM_RefCounted and MEM_RefCountable classes.
- * @author Laurence
- */
-
-#ifndef __MEM_SMARTPTR_H__
-#define __MEM_SMARTPTR_H__
-
-
-#include <stdlib.h> // for NULL !
-
-
-/**
- * \section MEM_SmartPtr
- * This class defines a smart pointer similar to that defined in 
- * the Standard Template Library but without the painful get()
- * semantics to access the internal c style pointer.
- *
- * It is often useful to explicitly declare ownership of memory
- * allocated on the heap within class or function scope. This
- * 

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list