Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using a local clone.


Compiler implementation of the D programming language.
Region storage allocator implementation.
struct Region;
Simple region storage allocator.
nothrow void* malloc(size_t nbytes);
Allocate nbytes. Aborts on failure.
size_t nbytes number of bytes to allocate, can be 0, must be <= than MaxAllocSize
allocated data, null for nbytes==0
nothrow RegionPos savePos();
Return stack position for allocations in this region.
an opaque struct to be passed to release()
nothrow void release(RegionPos pos);
Release the memory that was allocated after the respective call to savePos().
RegionPos pos position returned by savePos()
nothrow bool contains(void* p);
If pointer points into Region.
void* p pointer to check
true if it points into the region
nothrow size_t size();
size of Region