Support Forum       G3D Web Page     
Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | List of all members
G3D::CRTMemoryManager Class Reference

A MemoryManager implemented using the C runtime. More...

Inherits G3D::MemoryManager.

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. More...
 
virtual void free (void *ptr)
 Invoke to declare that this memory will no longer be used by the program. More...
 
virtual bool isThreadsafe () const
 Returns true if this memory manager is threadsafe (i.e., alloc and free can be called asychronously) More...
 

Static Public Member Functions

static shared_ptr< CRTMemoryManagercreate ()
 There's only one instance of this memory manager; it is cached after the first creation. More...
 

Protected Member Functions

 CRTMemoryManager ()
 

Static Protected Member Functions

template<class T , class ... ArgTypes>
static shared_ptr< T > createShared (ArgTypes &&... args)
 Like std::make_shared, but works for protected constructors. More...
 

Detailed Description

A MemoryManager implemented using the C runtime.

Not recommended for general use; this is largely for debugging.

Constructor & Destructor Documentation

◆ CRTMemoryManager()

G3D::CRTMemoryManager::CRTMemoryManager ( )
protected

Member Function Documentation

◆ alloc()

virtual void* G3D::CRTMemoryManager::alloc ( size_t  s)
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 from G3D::MemoryManager.

◆ create()

static shared_ptr<CRTMemoryManager> G3D::CRTMemoryManager::create ( )
static

There's only one instance of this memory manager; it is cached after the first creation.

◆ createShared()

template<class T , class ... ArgTypes>
static shared_ptr<T> G3D::ReferenceCountedObject::createShared ( ArgTypes &&...  args)
inlinestaticprotectedinherited

Like std::make_shared, but works for protected constructors.

Call as createShared<myclass>.

◆ free()

virtual void G3D::CRTMemoryManager::free ( void *  ptr)
virtual

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 from G3D::MemoryManager.

◆ isThreadsafe()

virtual bool G3D::CRTMemoryManager::isThreadsafe ( ) const
virtual

Returns true if this memory manager is threadsafe (i.e., alloc and free can be called asychronously)

Reimplemented from G3D::MemoryManager.


documentation generated on Wed Nov 24 2021 08:01:54 using doxygen 1.8.15