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.

dmd.root.region

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