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

Function std.experimental.allocator.common.alignedReallocate

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.

bool alignedReallocate(Allocator) (
  ref Allocator alloc,
  ref void[] b,
  size_t s,
  uint a
)
if (hasMember!(Allocator, "alignedAllocate"));

alignedReallocate does not attempt to use Allocator.reallocate even if defined. This is deliberate so allocators may use it internally within their own implementation of reallocate.

Authors

Andrei Alexandrescu, Timon Gehr (Ternary)

License