pub type DirectArenaPool<'src, T, H = DefaultHandle> = DirectPool<T, ArenaStorage<'src, DirectPoolLayout<T, H>>, H>;
Expand description

A direct-mapped pool that stores its contents in an arena-allocated memory block.

Examples

use coca::arena::Arena;
use coca::collections::{DirectArenaPool, pool::DefaultHandle};
use core::mem::MaybeUninit;

let mut backing_region = [MaybeUninit::uninit(); 1024];
let mut arena = Arena::from(&mut backing_region[..]);

let pool: DirectArenaPool<'_, i64, DefaultHandle> = arena.try_with_capacity(50).unwrap();
assert!(arena.try_with_capacity::<_, DirectArenaPool<'_, i64, DefaultHandle>>(50).is_none());