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.common
Utility and ancillary artifacts of std.experimental.allocator. This module
shouldn't be used directly; its functionality will be migrated into more
appropriate parts of std.
Authors:
Andrei Alexandrescu, Timon Gehr (Ternary)
-
- Construct and assign from a bool, receiving no for false and yes for true.
- Construct a ternary value from another ternary value
Truth table for logical operations a b ˜a a | b a & b a ^ b no no yes no no no no yes yes no yes no unknown unknown no unknown yes no no yes no yes yes yes yes yes no yes unknown yes unknown unknown unknown no unknown unknown no unknown unknown yes yes unknown unknown unknown unknown unknown unknown unknown
- 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.
- 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.
- The alignment that is guaranteed to accommodate any D object allocation on the current platform.
- The default good size allocation is deduced as n rounded up to the allocator's alignment.
- Returns s rounded up to a multiple of base.
- Returns n rounded up to a multiple of alignment, which must be a power of 2.
- Returns n rounded down to a multiple of alignment, which must be a power of 2.
- Advances the beginning of b to start at alignment a. The resulting buffer may therefore be shorter. Returns the adjusted buffer, or null if obtaining a non-empty buffer is impossible.
- Like a / b but rounds the result up, not down.
- Returns s rounded up to a multiple of base.
- Returns s rounded up to the nearest power of 2.
- Returns the number of trailing zeros of x.
- Returns true if ptr is aligned at alignment.
- Returns the effective alignment of ptr, i.e. the largest power of two that is a divisor of ptr.
- Aligns a pointer down to a specified alignment. The resulting pointer is less than or equal to the given pointer.
- Aligns a pointer up to a specified alignment. The resulting pointer is greater than or equal to the given pointer.
- Returns true if x is a nonzero power of two.
- The default reallocate function first attempts to use expand. If Allocator.expand 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.
- The default alignedReallocate function first attempts to use expand. If Allocator.expand 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.
- Forwards each of the methods in funs (if defined) to member.
Copyright © 1999-2017 by Digital Mars ®, All Rights Reserved | Page generated by
Ddoc on (no date time)