Arena

Trait Arena 

Source
pub trait Arena<T>: UnsafeArena<T> {
    // Required methods
    fn get(&self, ptr: &Self::Ptr) -> Option<&T>;
    fn get_mut(&mut self, ptr: &Self::Ptr) -> Option<&mut T>;
    fn remove(&mut self, ptr: &Self::Ptr) -> Option<T>;
}
Expand description

Memory-safe homogeneous memory arena types.

Required Methods§

Source

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

Get a reference to a contained value.

Source

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

Get a mutable reference to a contained value.

Source

fn remove(&mut self, ptr: &Self::Ptr) -> Option<T>

Remove a value from the arena.

Returns the removed value.

Implementors§

Source§

impl<T> Arena<T> for CheckedArena<T>

Source§

impl<T, A, P> Arena<T> for PooledArena<T, A, P>
where A: UnsafeArena<Entry<T, P>, Ptr = P> + Arena<Entry<T, P>>, P: Clone + Default + PartialEq + Eq + Debug,