Trait xalloc::arena::UnsafeArena [] [src]

pub trait UnsafeArena<T> {
    type Ptr: Debug + Clone + Default + PartialEq + Eq;
    fn insert(&mut self, x: T) -> Self::Ptr;
unsafe fn get_unchecked(&self, ptr: &Self::Ptr) -> &T;
unsafe fn get_unchecked_mut(&mut self, ptr: &Self::Ptr) -> &mut T;
unsafe fn remove_unchecked(&mut self, ptr: &Self::Ptr) -> T; fn reserve(&mut self, _additional: usize) { ... } }

Homogeneous memory arena types supporting operations that do not guarantee memory safety.

Methods prefixed with _unchecked all assume given pointers are valid; specifically, they assumes that:

  1. The pointers were constructed by the same instance of UnsafeArena.
  2. The pointers have not been removed from the arena yet.

Associated Types

Pointer type.

  • Ptr::clone(p) returns a pointer that points the same object.
  • Ptr::default() returns an uninitialized pointer with a well-defined value (e.g., null pointer).
  • Ptr::eq(x, y) checks the equality of two pointers. Both pointers must originate from the same arena. Otherwise, the returned value does not make sense.

Required Methods

Insert a value into the arena.

Returns a pointer that points the inserted value.

Get a reference to a contained value, without a pointer validity check.

Get a mutable reference to a contained value, without a pointer validity check.

Remove a value from the arena, without a pointer validity check.

Returns the removed value.

Provided Methods

Reserves capacity for at least additional values to be inserted in the arena.

Implementors