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.
std.experimental.allocator.gc_allocator
- struct GCAllocator;
- D's built-in garbage-collected allocator.Examples:
auto buffer = GCAllocator.instance.allocate(1024 * 1024 * 4); // deallocate upon scope's end (alternatively: leave it to collection) scope(exit) GCAllocator.instance.deallocate(buffer); //...
- enum uint alignment;
- The alignment is a static constant equal to platformAlignment, which ensures proper alignment for any D data type.
- shared pure nothrow @trusted void[] allocate(size_t bytes);
shared @system bool expand(ref void[] b, size_t delta);
shared pure nothrow @system bool reallocate(ref void[] b, size_t newSize);
shared pure nothrow void[] resolveInternalPointer(void* p);
shared pure nothrow @system bool deallocate(void[] b);
shared size_t goodAllocSize(size_t n); - 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.
- static shared GCAllocator instance;
- Returns the global instance of this allocator type. The garbage collected allocator is thread-safe, therefore all of its methods and instance itself are shared.
Copyright © 1999-2017 by the D Language Foundation | Page generated by
Ddoc on (no date time)