View source code
Display the source code in std/experimental/allocator/building_blocks/bitmapped_block.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.bitmapped_block.BitmappedBlockWithInternalPointers

A BitmappedBlock with additional structure for supporting resolveInternalPointer. To that end, BitmappedBlockWithInternalPointers adds a bitmap (one bit per block) that marks object starts. The bitmap itself has variable size and is allocated together with regular allocations.

struct BitmappedBlockWithInternalPointers(ulong theBlockSize, uint theAlignment = platformAlignment, ParentAllocator) ;

The time complexity of resolveInternalPointer is Ο(k), where k is the size of the object within which the internal pointer is looked up.

Constructors

NameDescription
this (data) Constructors accepting desired capacity or a preallocated buffer, similar in semantics to those of BitmappedBlock.

Methods

NameDescription
allocate (bytes) Allocator primitives.
allocateAll () Allocator primitives.
deallocate (b) Allocator primitives.
empty () Allocator primitives.
expand (b, bytes) Allocator primitives.
goodAllocSize (n) Allocator primitives.
resolveInternalPointer (p, result) Allocator primitives.

Aliases

NameDescription
alignment Allocator primitives.

Authors

License