std.experimental.allocator.building_blocks.null_allocator - D Programming Language

D Programming Language
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.

# std.experimental.allocator.building_blocks.null_allocator

struct NullAllocator;
  NullAllocator is an emphatically empty implementation of the allocator interface. Although it has no direct use, it is useful as a "terminator" in composite allocators.
  enum uint alignment;
    NullAllocator advertises a relatively large alignment equal to 64 KB. This is because NullAllocator never actually needs to honor this alignment and because composite allocators using NullAllocator shouldn't be unnecessarily constrained.
  shared void[] allocate(size_t);
    Returns n.
    Always returns null.
  shared void[] alignedAllocate(size_t, uint);
    Always returns null.
  shared void[] allocateAll();
    Always returns null.
  shared bool expand(ref void[] b, size_t);
  shared bool reallocate(ref void[] b, size_t);
  shared bool alignedReallocate(ref void[] b, size_t, uint);
    These methods return false.

    Precondition: b is null. This is because there is no other possible legitimate input.

  shared const Ternary owns(void[]);
    Returns Ternary.no.
  shared const void[] resolveInternalPointer(void*);
    Returns null.
  shared bool deallocate(void[] b);
    No-op.

    Precondition: b is null

  shared bool deallocateAll();
    No-op.
  shared const Ternary empty();
    Returns Ternary.yes.
  static shared NullAllocator instance;
    Returns the shared global instance of the NullAllocator.

Copyright © 1999-2016 by Digital Mars ®, All Rights Reserved | Page generated by Ddoc on Thu Mar 3 11:44:01 2016