vutil.memory

Utility functions for memory management

Note that this module currently is a big sand box for testing allocation related stuff. Nothing here, including the interfaces, is final but rather a lot of experimentation.

Members

Classes

AutoFreeListAllocator
class AutoFreeListAllocator
Undocumented in source.
DebugAllocator
class DebugAllocator
Undocumented in source.
FreeListAlloc
class FreeListAlloc
Undocumented in source.
GCAllocator
class GCAllocator
Undocumented in source.
LockAllocator
class LockAllocator

Simple proxy allocator protecting its base allocator with a mutex.

MallocAllocator
class MallocAllocator
Undocumented in source.
PoolAllocator
class PoolAllocator
Undocumented in source.

Functions

allocArray
T[] allocArray(Allocator allocator, size_t n)
Undocumented in source. Be warned that the author may not have intended to support it.
allocObject
auto allocObject(Allocator allocator, ARGS args)
Undocumented in source. Be warned that the author may not have intended to support it.
defaultAllocator
Allocator defaultAllocator()
Undocumented in source. Be warned that the author may not have intended to support it.
freeArray
void freeArray(Allocator allocator, T[] array, bool call_destructors)
Undocumented in source. Be warned that the author may not have intended to support it.
manualAllocator
Allocator manualAllocator()
Undocumented in source. Be warned that the author may not have intended to support it.

Interfaces

Allocator
interface Allocator
Undocumented in source.

Structs

FreeListRef
struct FreeListRef(T, bool INIT = true)
Undocumented in source.

Templates

AllocSize
template AllocSize(T)
Undocumented in source.
FreeListObjectAlloc
template FreeListObjectAlloc(T, bool USE_GC = true, bool INIT = true)
Undocumented in source.

Meta

License

Subject to the terms of the MIT license, as written in the included LICENSE.txt file.

Authors

Sönke Ludwig