|
| | DefaultAllocator () |
| virtual | ~DefaultAllocator () |
| virtual void * | Allocate (size_t size) override |
| | Allocates and returns a pointer to a block of uninitialized memory of the given size.
|
| virtual void * | AllocateAligned (size_t size, size_t align) override |
| | Allocates and returns a pointer to a block of uninitialized memory with the given size and alignment.
|
| virtual void | Free (void *buffer) override |
| | Frees the memory pointed to by the given pointer. The memory must have been allocated by this allocator's Allocate method.
|
| virtual void | FreeAligned (void *buffer) override |
| | Frees the aligned memory pointed to by the given pointer. The memory must have been allocated by this allocator's Allocate method.
|
| int | GetNumAllocations () const |
| | Returns the number of outstanding allocations.
|
| virtual | ~Allocator () |
| void | Free (const void *buffer) |
| | Calls the non-const form of Free after casting away the constness of the given pointer.
|
| void | FreeAligned (const void *buffer) |
| | Calls the non-const form of FreeAligned after casting away the constness of the given pointer.
|
| template<typename T> |
| T * | Alloc () |
| | Allocates and returns a pointer to a block of uninitialized memory large enough to accommodate an object of type T.
|
| template<typename T> |
| T * | Alloc (size_t numElements) |
| | Allocates and returns a pointer to a block of uninitialized memory large enough to accommodate an array of objects of type T.
|
| template<typename T> |
| Handle< T > | AllocOwned () |
| | Allocates and returns an owning handle to a block of uninitialized memory large enough to accommodate an object of type T.
|
| template<typename T> |
| Handle< T > | AllocOwned (size_t numElements) |
| | Allocates and returns an owning handle to a block of uninitialized memory large enough to accommodate an array of objects of type T.
|
| template<typename T> |
| T * | AllocAligned (size_t align) |
| | Allocates and returns a pointer to a block of uninitialized aligned memory large enough to accommodate an object of type T.
|
| template<typename T> |
| T * | AllocAligned (size_t numElements, size_t align) |
| | Allocates and returns a pointer to a block of uninitialized aligned memory large enough to accommodate an array of objects of type T.
|
| template<typename T> |
| AlignedHandle< T > | AllocOwnedAligned (size_t align) |
| | Allocates and returns an owning handle to a block of uninitialized aligned memory large enough to accommodate an object of type T.
|
| template<typename T> |
| AlignedHandle< T > | AllocOwnedAligned (size_t numElements, size_t align) |
| | Allocates and returns an owning handle to a block of uninitialized aligned memory large enough to accommodate an array of objects of type T.
|
| template<typename T, typename... Args> |
| T * | AllocObject (Args &&... args) |
| | Allocates, constructs and returns a pointer to an instance of type T.
|
| template<typename T, typename... Args> |
| ObjectHandle< T > | AllocOwnedObject (Args &&... args) |
| | Allocates, constructs and returns an owning handle to an instance of type T.
|
| template<typename T, typename... Args> |
| T * | AllocAlignedObject (size_t align, Args &&... args) |
| | Allocates, constructs and returns a pointer to an aligned instance of type T.
|
| template<typename T, typename... Args> |
| AlignedObjectHandle< T > | AllocOwnedAlignedObject (size_t align, Args &&... args) |
| | Allocates, constructs and returns an owning handle to an aligned instance of type T.
|
A simple implementation of Allocator that allocates and frees memory using the new and delete operators and also tracks the number of outstanding allocations.