Report a bugIf you spot a problem with this page, click here to create a Bugzilla issue.
Improve this pageQuickly 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 usinga local clone.
dmd.root.region
Region storage allocator implementation.
Simple region storage allocator.
nothrow void*
malloc(size_t
nbytes);
Allocate nbytes. Aborts on failure.
Parameters:size_tnbytes | 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 torelease()
pure nothrow @nogc @safe void
release(RegionPos
pos);
Release the memory that was allocated after the respective call tosavePos().
Parameters:RegionPospos | position returned bysavePos() |
pure nothrow @nogc bool
contains(void*
p);
If pointer points into Region.
Returns:true if it points into the region
pure nothrow @nogc @safe size_t
size();