[][src]Crate alloc_compose

Test Status Coverage Status Docs master Docs.rs Crates.io Crates.io


Important note

Due to some changes to AllocRef it was hard to keep this crate updated. I'll readd the functionality from v0.5.0 from time to time. Most things have to be refactored as AllocRefs reallocation methods now takes two layouts.

The most interesting part as of now is probably Region and its variants. In future version, composable blocks like AffixAllocator or Proxy will be added.


Composable allocator structures for plugging together more powerful allocators.

alloc-compose relies on AllocRef as allocator trait. Until AllocRef has been stabilized, this crate requires a nightly compiler.

The design of composable allocators is inspired by std::allocator Is to Allocation what std::vector Is to Vexation by Andrei Alexandrescu and the Phobos Standard Library of the D Programming Language.

License

Alloc-Compose is distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE and LICENSE-MIT for details.

Modules

region

Stack-based allocators with user-provided memory

stats

Structures to collect allocator statistics.

Structs

Chunk

Allocate memory with a multiple size of the provided chunk size.

Fallback

An allocator equivalent of an "or" operator in algebra.

Null

An emphatically empty implementation of AllocRef.

Proxy

Calls the provided callbacks when invoking methods on AllocRef.

Traits

AllocateAll

Extends AllocRef for allocating or deallocating all memory at once.

CallbackRef

Backend for the Proxy allocator.

Owns

Trait to determine if a given memory block is owned by an allocator.

ReallocateInPlace

Extends AllocRef to support growing and shrinking in place.