vsg: vsg::Allocator Class Reference

vsg 1.1.3 VulkanSceneGraph library

Loading...
Searching...
No Matches
Classes | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Attributes | List of all members
vsg::Allocator Class Reference

`#include <Allocator.h>`

## Classes
struct | MemoryBlock
struct | MemoryBlocks

## Public Member Functions
| Allocator (std::unique_ptr< Allocator > in_nestedAllocator={})
virtual void * | allocate (std::size_t size, AllocatorAffinity allocatorAffinity=ALLOCATOR_AFFINITY_OBJECTS)
| allocate from the pool of memory blocks, or allocate from a new memory block
virtual bool | deallocate (void *ptr, std::size_t size)
| deallocate, returning data to pool.
virtual size_t | deleteEmptyMemoryBlocks ()
| delete any MemoryBlock that are empty
virtual size_t | totalAvailableSize () const
| return the total available size of allocated MemoryBlocks
virtual size_t | totalReservedSize () const
| return the total reserved size of allocated MemoryBlocks
virtual size_t | totalMemorySize () const
| return the total memory size of allocated MemoryBlocks
virtual void | report (std::ostream &out) const
| report stats about blocks of memory allocated.
void | setMemoryTracking (int mt)
| set the MemoryTracking member of the vsg::Allocator and all the MemoryBlocks that it manages.
MemoryBlocks * | getMemoryBlocks (AllocatorAffinity allocatorAffinity)
MemoryBlocks * | getOrCreateMemoryBlocks (AllocatorAffinity allocatorAffinity, const std::string &name, size_t blockSize)
void | setBlockSize (AllocatorAffinity allocatorAffinity, size_t blockSize)

## Static Public Member Functions
static std::unique_ptr< Allocator > & | instance ()
| Allocator singleton.

## Public Attributes
AllocatorType | allocatorType = ALLOCATOR_TYPE_VSG_ALLOCATOR
AllocatorType | memoryBlocksAllocatorType = ALLOCATOR_TYPE_NEW_DELETE
int | memoryTracking = MEMORY_TRACKING_DEFAULT
std::mutex | mutex
double | allocationTime = 0.0
double | deallocationTime = 0.0

## Protected Attributes
std::unique_ptr< Allocator > | nestedAllocator
std::vector< std::unique_ptr< MemoryBlocks > > | allocatorMemoryBlocks

## Detailed Description

extensible Allocator that handles allocation and deallocation of scene graph CPU memory,

The documentation for this class was generated from the following file:

- include/vsg/core/Allocator.h