View source code
Display the source code in std/experimental/allocator/package.d from which this
page was generated on github.
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
local clone.
Function std.experimental.allocator.theAllocator
Gets/sets the allocator for the current thread. This is the default allocator
that should be used for allocating thread-local memory. For allocating memory
to be shared across threads, use processAllocator
(below). By default,
theAllocator
ultimately fetches memory from processAllocator
, which
in turn uses the garbage collected heap.
ref RCIAllocator theAllocator() nothrow @property @nogc @safe;
void theAllocator
(
RCIAllocator a
) nothrow @property @nogc;
Example
// Install a new allocator that is faster for 128-byte allocations.
import std .experimental .allocator .building_blocks .free_list : FreeList;
import std .experimental .allocator .gc_allocator : GCAllocator;
auto oldAllocator = theAllocator;
scope(exit) theAllocator = oldAllocator;
theAllocator = allocatorObject(FreeList!(GCAllocator, 128)());
// Use the now changed allocator to allocate an array
const ubyte[] arr = theAllocator .makeArray!ubyte(128);
assert(arr .ptr);
//...
Authors
License
Copyright © 1999-2022 by the D Language Foundation | Page generated by ddox.