View source code
Display the source code in std/experimental/allocator/common.d from which thispage was generated on github.
Report a bug
If you spot a problem with this page, click here to create aBugzilla 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 usinglocal clone.
Module std.experimental.allocator.common
Utility and ancillary artifacts of std
. This module
shouldn't be used directly; its functionality will be migrated into more
appropriate parts of std
.
Functions
Name | Description |
---|---|
alignedReallocate(alloc, b, s, a)
|
The default alignedReallocate function first attempts to use expand .
If Allocator is not defined or returns false , alignedReallocate allocates a new block of memory of appropriate size and
copies data from the old block to the new block. Finally, if Allocator
defines deallocate , alignedReallocate uses it to free the old memory
block.
|
forwardToMember(member, funs)
|
Forwards each of the methods in funs (if defined) to member .
|
goodAllocSize(a, n)
|
The default good size allocation is deduced as n rounded up to the
allocator's alignment.
|
reallocate(a, b, s)
|
The default reallocate function first attempts to use expand . If Allocator is not defined or returns false , reallocate
allocates a new block of memory of appropriate size and copies data from the old
block to the new block. Finally, if Allocator defines deallocate , reallocate uses it to free the old memory block.
|
Manifest constants
Name | Type | Description |
---|---|---|
chooseAtRuntime
|
chooseAtRuntime is a compile-time constant of type size_t that several
parameterized structures in this module recognize to mean deferral to runtime of
the exact value. For example, BitmappedBlock!(Allocator, 4096) (described in
detail below) defines a block allocator with block size of 4096 bytes, whereas
BitmappedBlock!(Allocator, chooseAtRuntime) defines a block allocator that has a
field storing the block size, initialized by the user.
|
|
hasStaticallyKnownAlignment
|
Returns true if the Allocator has the alignment known at compile time;
otherwise it returns false .
|
|
isAllocator
|
Is true iff A is an allocator.
|
|
platformAlignment
|
The alignment that is guaranteed to accommodate any D object allocation on the current platform. | |
stateSize
|
Returns the size in bytes of the state that needs to be allocated to hold an
object of type T . stateSize!T is zero for struct s that are not
nested and have no nonstatic member variables.
|
|
unbounded
|
unbounded is a compile-time constant of type size_t that several
parameterized structures in this module recognize to mean "infinite" bounds for
the parameter. For example, Freelist (described in detail below) accepts a
maxNodes parameter limiting the number of freelist items. If unbounded
is passed for maxNodes , then there is no limit and no checking for the
number of nodes.
|
Authors
Andrei Alexandrescu, Timon Gehr (Ternary
)
License
Copyright © 1999-2025 by the D Language Foundation | Page generated by ddox.