This is the documentation for Enlighten.

class Enlighten WorkspaceAllocator

class Enlighten::WorkspaceAllocator

A specialised circular/stack allocator hybrid for allocating solve workspace memory.

Functions

Name Description
Alloc(Geo::u32)

Allocate memory from the allocator.

Dealloc(void *)

Return memory to the allocator.

IsEmpty()

Is the allocator completely empty (i.e. no outstanding allocations)?

WorkspaceAllocator(Geo::u32, Geo::u32)

Construct a new allocator with a specified block and maximum size.


void* Enlighten::WorkspaceAllocator::Alloc


public: void * Alloc
(
    Geo::u32 size
)


Allocate memory from the allocator.


void Enlighten::WorkspaceAllocator::Dealloc


public: void Dealloc
(
    void * ptr
)


Return memory to the allocator.


bool Enlighten::WorkspaceAllocator::IsEmpty


public: bool IsEmpty() const


Is the allocator completely empty (i.e. no outstanding allocations)?


Enlighten::WorkspaceAllocator::WorkspaceAllocator


public: WorkspaceAllocator
(
    Geo::u32 blockSize,
    Geo::u32 maxSize
)


Construct a new allocator with a specified block and maximum size.