# Piece
Piece is a collection of composable allocators for rust.
## Allocators
Currently this crate contains two allocators, `piece::LinearAllocator` and `piece::ChainAllocator`.
### Linear allocator
`piece::LinearAllocator` is an allocator that keeps a fixed-sized buffer internally
and use it to make allocations. Once the buffer is full, all next allocations fails.
This allocator is useful when you want a "scratch space" for multiple tiny allocations
that share the same lifetime.
### Chain allocator
A `piece::ChainAllocator<A>` create a new allocator of type `A` when the existing allocators of this
It can be useful when used with a `piece::LinearAllocator` for example. When
all of its memory is used, the `ChainAllocator` will create a new one. This is useful when
you want to use fixed-sized allocators but you're worried that your program will run out of
memory.