A BorrowedRegion allocates directly from a user-provided block of memory.
InSituRegion is a convenient region that carries its storage within itself (in the form of a statically-sized array).
A Region allocator allocates memory straight from one contiguous chunk. There is no deallocation, and once the region is full, allocation requests return null. Therefore, Regions are often used (a) in conjunction with more sophisticated allocators; or (b) for batch-style very fast allocations that deallocate everything at once.
A SharedBorrowedRegion allocates directly from a user-provided block of memory.
The threadsafe version of the Region allocator. Allocations and deallocations are lock-free based using core.atomic.cas.