Mallocator

The C heap allocator.

Members

Static functions

allocate
void[] allocate(size_t bytes)
deallocate
bool deallocate(void[] b)
reallocate
bool reallocate(void[] b, size_t s)

Standard allocator methods per the semantics defined above. The deallocate and reallocate methods are @system because they may move memory around, leaving dangling pointers in user code. Somewhat paradoxically, malloc is @safe but that's only useful to safe programs that can afford to leak memory allocated.

Variables

alignment
enum uint alignment;

The alignment is a static constant equal to platformAlignment, which ensures proper alignment for any D data type.

instance
enum Mallocator instance;

Returns the global instance of this allocator type. The C heap allocator is thread-safe, therefore all of its methods are static and instance itself is shared.

Examples

auto buffer = Mallocator.instance.allocate(1024 * 1024 * 4);
scope(exit) Mallocator.instance.deallocate(buffer);
//...

Meta