Crate maskerad_memory_allocators [] [src]

This library provides:

  • a stack-based allocator for data implementing the Drop trait,

  • a double-ended allocator for data implementing the Drop trait,

  • a double-buffered allocator for data implementing the Drop trait,

  • a stack-based allocator for data implementing the Copy trait,

  • a double-ended allocator for data implementing the Copy trait,

  • a double-buffered allocator for data implementing the Copy trait,

  • a single-threaded pool allocator for data implementing the Drop trait,

  • Unique and Shared smart pointers used by the pool allocators, almost identical to Box and Rc smart pointers in implementation and intent.

Its primary purpose is to prevent memory fragmentation.

All those allocators are for single-threaded scenarios, and their primary purpose is to prevent memory fragmentation.

This is a nightly-only library.

Modules

allocation_error
utils

Structs

DoubleBufferedAllocator

A double-buffered allocator for data implementing the Drop trait.

DoubleBufferedAllocatorCopy

A double-buffered allocator for data implementing the Copy trait.

DoubleEndedStackAllocator

A double-ended allocator for data implementing the Drop trait.

DoubleEndedStackAllocatorCopy

A double-ended allocator for data implementing the Copy trait.

MemoryChunk

The MemoryChunk is just a chunk of memory. It uses a RawVec to allocate bytes in a vector-like fashion.

PoolAllocator
StackAllocator

A stack-based allocator for data implementing the Drop trait.

StackAllocatorCopy

A stack-based allocator for data implementing the Copy trait.

Enums

ChunkType

The type of the memory chunk.