Class ConcurrentArenaAllocator
Allocator that uses pages for stack-based allocs without freeing memory during it's lifetime. Thread-safe to allocate memory from multiple threads at once.
Inheritance
ConcurrentArenaAllocator
Assembly: FlaxEngine.dll
File: Engine/Core/Memory/ArenaAllocation.h
Syntax
public class ConcurrentArenaAllocator
Constructors
~ConcurrentArenaAllocator()
Declaration
public ~ConcurrentArenaAllocator()
ConcurrentArenaAllocator(int32 pageSizeBytes, void* (*customAllocate)(uint64 size), void(*customFree)(void* ptr, uint64 size))
Declaration
public ConcurrentArenaAllocator(int32 pageSizeBytes, void* (*customAllocate)(uint64 size), void(*customFree)(void* ptr, uint64 size))
Parameters
|
int32
pageSizeBytes
|
|
void ()(uint64 size)
customAllocate
|
|
void()(void ptr, uint64 size)
customFree
|
ConcurrentArenaAllocator(int32 pageSizeBytes, void* (*customAllocate)(uint64 size, uint64 alignment), void(*customFree)(void* ptr))
Declaration
public ConcurrentArenaAllocator(int32 pageSizeBytes, void* (*customAllocate)(uint64 size, uint64 alignment), void(*customFree)(void* ptr))
Parameters
|
int32
pageSizeBytes
|
|
void ()(uint64 size, uint64 alignment)
customAllocate
|
|
void()(void ptr)
customFree
|
ConcurrentArenaAllocator(int32 pageSizeBytes=1024* 1024)
Declaration
public ConcurrentArenaAllocator(int32 pageSizeBytes=1024* 1024)
Parameters
|
int32
pageSizeBytes
|
Methods
Allocate(uint64 count)
Declaration
public T* Allocate(uint64 count)
Parameters
|
uint64
count
|
Returns
|
T
|
Type Parameters
|
class T
|
Allocate(uint64 size, uint64 alignment=PLATFORM_MEMORY_ALIGNMENT)
Declaration
public void* Allocate(uint64 size, uint64 alignment=PLATFORM_MEMORY_ALIGNMENT)
Parameters
|
uint64
size
|
|
uint64
alignment
|
Returns
|
void
|
Free()
Declaration
public void Free()
GetTotalBytes()
Declaration
public int64 GetTotalBytes() const
Returns
|
int64
|
New(Args&& ...args)
Declaration
public T* New(Args&& ...args)
Parameters
|
Args...
args
|
Returns
|
T
|
Type Parameters
|
class T
|
|
Args
|