View source code
Display the source code in std/experimental/allocator/gc_allocator.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.
Struct std.experimental.allocator.gc_allocator.GCAllocator
D's built-in garbage-collected allocator.
struct GCAllocator
;
Fields
Name | Type | Description |
---|---|---|
instance
|
const(shared(GCAllocator)) | 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 .
|
Methods
Name | Description |
---|---|
allocate
(bytes)
|
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.
|
deallocate
(b)
|
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.
|
expand
(b, delta)
|
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.
|
goodAllocSize
(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.
|
reallocate
(b, newSize)
|
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.
|
resolveInternalPointer
(p, result)
|
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.
|
Example
auto buffer = GCAllocator .instance .allocate(1024 * 1024 * 4);
// deallocate upon scope's end (alternatively: leave it to collection)
scope(exit) GCAllocator .instance .deallocate(buffer);
//...
Authors
License
Copyright © 1999-2022 by the D Language Foundation | Page generated by ddox.