Crate bump_local

Crate bump_local 

Source
Expand description

A Sync + Send allocator wrapper around bumpalo using per-thread bump allocators.

§Examples

With bumpalo’s collections:

use bump_local::Bump;

let bump = Bump::new();
// Get the current thread's instance
let local = bump.local();
let mut vec = bumpalo::collections::Vec::new_in(local.as_inner());
vec.push(1);
vec.push(2);

With stable Rust and allocator-api2 feature:

use allocator_api2::vec::Vec;
use bump_local::Bump;

let bump = Bump::new();
let mut vec = Vec::new_in(bump.clone());
vec.push(1);
vec.push(2);

With nightly Rust and allocator_api feature:

#![feature(allocator_api)]

use bump_local::Bump;

let bump = Bump::new();
let mut vec = Vec::new_in(bump.clone());
vec.push(1);
vec.push(2);

Structs§

Bump
A thread-safe bump allocator that provides Sync + Send semantics.
BumpBuilder
Builder for configuring a Bump allocator.
BumpLocal
Per-thread wrapper around a bumpalo::Bump allocator.
ResetError
Reset is only allowed when single Bump reference exists

Traits§

AllocatorExperimental
An implementation of Allocator can allocate, grow, shrink, and deallocate arbitrary blocks of data described via Layout.