aboutsummaryrefslogtreecommitdiff
path: root/externals/g3dlite/G3D/MemoryManager.h
diff options
context:
space:
mode:
Diffstat (limited to 'externals/g3dlite/G3D/MemoryManager.h')
-rw-r--r--externals/g3dlite/G3D/MemoryManager.h93
1 files changed, 0 insertions, 93 deletions
diff --git a/externals/g3dlite/G3D/MemoryManager.h b/externals/g3dlite/G3D/MemoryManager.h
deleted file mode 100644
index 15bf6d8be43..00000000000
--- a/externals/g3dlite/G3D/MemoryManager.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/**
- @file MemoryManager.h
-
- @maintainer Morgan McGuire, http://graphics.cs.williams.edu
- @created 2009-04-20
- @edited 2009-04-20
-
- Copyright 2000-2009, Morgan McGuire.
- All rights reserved.
- */
-#ifndef G3D_MemoryManager_h
-#define G3D_MemoryManager_h
-
-#include "G3D/platform.h"
-#include "G3D/ReferenceCount.h"
-
-namespace G3D {
-
-/**
- Abstraction of memory management.
- Default implementation uses G3D::System::malloc and is threadsafe.
-
- \sa CRTMemoryManager, AlignedMemoryManager, AreaMemoryManager */
-class MemoryManager : public ReferenceCountedObject {
-protected:
-
- MemoryManager();
-
-public:
-
- typedef ReferenceCountedPointer<class MemoryManager> Ref;
-
- /** Return a pointer to \a s bytes of memory that are unused by
- the rest of the program. The contents of the memory are
- undefined */
- virtual void* alloc(size_t s);
-
- /** Invoke to declare that this memory will no longer be used by
- the program. The memory manager is not required to actually
- reuse or release this memory. */
- virtual void free(void* ptr);
-
- /** Returns true if this memory manager is threadsafe (i.e., alloc
- and free can be called asychronously) */
- virtual bool isThreadsafe() const;
-
- /** Return the instance. There's only one instance of the default
- MemoryManager; it is cached after the first creation. */
- static MemoryManager::Ref create();
-};
-
-/**
- Allocates memory on 16-byte boundaries.
- \sa MemoryManager, CRTMemoryManager, AreaMemoryManager */
-class AlignedMemoryManager : public MemoryManager {
-protected:
-
- AlignedMemoryManager();
-
-public:
-
- typedef ReferenceCountedPointer<class AlignedMemoryManager> Ref;
-
-
- virtual void* alloc(size_t s);
-
- virtual void free(void* ptr);
-
- virtual bool isThreadsafe() const;
-
- static AlignedMemoryManager::Ref create();
-};
-
-
-/** MemoryManager implemented using the C runtime. */
-class CRTMemoryManager : public MemoryManager {
-protected:
- CRTMemoryManager();
-
-public:
- typedef ReferenceCountedPointer<class MemoryManager> Ref;
- virtual void* alloc(size_t s);
- virtual void free(void* ptr);
- virtual bool isThreadsafe() const;
-
- /** There's only one instance of this memory manager; it is
- cached after the first creation. */
- static CRTMemoryManager::Ref create();
-};
-
-}
-
-#endif