Trait orzir_core::ArenaBase

source ·
pub trait ArenaBase<T> {
    // Required methods
    fn alloc(&mut self, val: T) -> ArenaPtr<T>;
    fn free(&mut self, ptr: ArenaPtr<T>);
    fn get(&self, ptr: ArenaPtr<T>) -> Option<&T>;
    fn get_mut(&mut self, ptr: ArenaPtr<T>) -> Option<&mut T>;
}

Required Methods§

source

fn alloc(&mut self, val: T) -> ArenaPtr<T>

Allocate a value in the arena.

source

fn free(&mut self, ptr: ArenaPtr<T>)

Free a value in the arena.

source

fn get(&self, ptr: ArenaPtr<T>) -> Option<&T>

Get a value in the arena.

source

fn get_mut(&mut self, ptr: ArenaPtr<T>) -> Option<&mut T>

Get a mutable value in the arena.

Implementors§

source§

impl<T> ArenaBase<T> for Arena<T>

source§

impl<T> ArenaBase<T> for UniqueArena<T>
where T: GetUniqueArenaHash + Eq,