View source code
Display the source code in std/experimental/allocator/building_blocks/region.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.building_blocks.region.SbrkRegion
Allocator backed by sbrk
for Posix systems. Due to the fact that sbrk
is not thread-safe
by design,
SbrkRegion
uses a mutex internally. This implies
that uncontrolled calls to brk
and sbrk
may affect the workings of SbrkRegion
adversely.
struct SbrkRegion(uint minAlign = platformAlignment)
;
Fields
Name | Type | Description |
---|---|---|
instance
|
SbrkRegion | Instance shared by all callers. |
Methods
Name | Description |
---|---|
alignedAllocate
(bytes, a)
|
Rounds the given size to a multiple of thew alignment
|
allocate
(bytes)
|
Rounds the given size to a multiple of thew alignment
|
deallocate
(b)
|
The deallocate method only works (and returns true ) on systems
that support reducing the break address (i.e. accept calls to sbrk
with negative offsets). OSX does not accept such. In addition the argument
must be the last block allocated.
|
deallocateAll
()
|
The deallocateAll method only works (and returns true ) on systems
that support reducing the break address (i.e. accept calls to sbrk
with negative offsets). OSX does not accept such.
|
empty
()
|
Standard allocator API. |
expand
(b, delta)
|
The expand method may only succeed if the argument is the last block
allocated. In that case, expand attempts to push the break pointer to
the right.
|
goodAllocSize
(n)
|
Rounds the given size to a multiple of thew alignment
|
owns
(b)
|
The expand method may only succeed if the argument is the last block
allocated. In that case, expand attempts to push the break pointer to
the right.
|
Authors
License
Copyright © 1999-2022 by the D Language Foundation | Page generated by ddox.