Crate toolshed [] [src]

Toolshed

This crate contains an Arena allocator, along with a few common data structures that can be used in tandem with it.

For all those times when you need to create a recursively nested tree of enums and find yourself in pain having to put everything in Boxes all the time.

Reexports

pub use cell::CopyCell;

Modules

cell

A mutable memory location for Copy types.

list

A linked list and auxiliary types that can be used with the Arena.

map

Maps of keys to values that can be used with the Arena.

set

Sets of values that can be used with the Arena.

Structs

Arena

An arena implementation that uses preallocated 64KiB pages for all allocations. If a new allocation were to be pushed over the the boundaries of the page, a new page is internally allocated first, thus this version of the arena can never run out of memory unless the process runs out of heap altogether.