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)

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 s)
shared bool reallocate(ref void[] b, size_t)
shared bool alignedReallocate(ref void[] b, size_t, uint)

These methods return false.

b is null. This is because there is no other possible legitimate input.
shared const Ternary owns(void[])

Returns Ternary.no.

shared const Ternary resolveInternalPointer(const void*, ref void[])

Returns Ternary.no.

shared bool deallocate(void[] b)


b is null
shared bool deallocateAll()


shared const Ternary empty()

Returns Ternary.yes.

static shared NullAllocator instance

Returns the shared global instance of the NullAllocator.

© 1999–2017 The D Language Foundation
Licensed under the Boost License 1.0.