The Allocator_Proc for a pool: use it as Allocator.{ pool_allocator_proc, *pool }.
Allocate and resize take memory from the pool (a resize copies, and never reuses the old space); free does
nothing; shutdown calls release. IS_THIS_YOURS is answered for addresses inside any block the pool
has handed out, ordinary or oversized. Unsupported modes fail an assert.
pool_allocator_proc :: (
mode: Allocator_Mode,
requested_size: s64,
old_size: s64,
old_memory: *void,
allocator_data: *void
) -> *void
The Allocator_Proc for a pool: use it as Allocator.{ pool_allocator_proc, *pool }.
Allocate and resize take memory from the pool (a resize copies, and never reuses the old space); free does
nothing; shutdown calls release. IS_THIS_YOURS is answered for addresses inside any block the pool
has handed out, ordinary or oversized. Unsupported modes fail an assert.
Parameters
- mode: Allocator_Mode
- requested_size: s64
- old_size: s64
- old_memory: *void
- allocator_data: *void
Returns
- *void