| Support Forum Library Source SourceForge Page G3D Web Page |
Abstraction of memory management. More...
Inherits G3D::ReferenceCountedObject.
Inherited by G3D::AlignedMemoryManager, G3D::AreaMemoryManager, and G3D::CRTMemoryManager.
Public Types | |
| typedef shared_ptr< class MemoryManager > | Ref |
Public Member Functions | |
| virtual void * | alloc (size_t s) |
| Return a pointer to s bytes of memory that are unused by the rest of the program. | |
| virtual void | free (void *ptr) |
| Invoke to declare that this memory will no longer be used by the program. | |
| virtual bool | isThreadsafe () const |
| Returns true if this memory manager is threadsafe (i.e., alloc and free can be called asychronously) | |
Static Public Member Functions | |
| static MemoryManager::Ref | create () |
| Return the instance. | |
Protected Member Functions | |
| MemoryManager () | |
Abstraction of memory management.
Default implementation uses G3D::System::malloc and is threadsafe.
| typedef shared_ptr<class MemoryManager> G3D::MemoryManager::Ref |
|
protected |
|
virtual |
Return a pointer to s bytes of memory that are unused by the rest of the program.
The contents of the memory are undefined
Reimplemented in G3D::CRTMemoryManager, G3D::AreaMemoryManager, and G3D::AlignedMemoryManager.
|
static |
Return the instance.
There's only one instance of the default MemoryManager; it is cached after the first creation.
Referenced by G3D::Array< PreprocessedShaderSource >::Array(), G3D::categorizeByDerivedType(), and G3D::Table< std::string, DependencyList >::Table().
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.
Reimplemented in G3D::CRTMemoryManager, G3D::AreaMemoryManager, and G3D::AlignedMemoryManager.
|
virtual |
Returns true if this memory manager is threadsafe (i.e., alloc and free can be called asychronously)
Reimplemented in G3D::CRTMemoryManager, G3D::AreaMemoryManager, and G3D::AlignedMemoryManager.
1.8.2