Struct xalloc::arena::pooled::PooledArena
source · pub struct PooledArena<T, A, P>where
A: UnsafeArena<Entry<T, P>, Ptr = P>,
P: Clone + Default + PartialEq + Eq + Debug,{ /* private fields */ }
Expand description
Adds a vacant entry pool to any memory arena for faster reallocation.
Implementations
sourceimpl<T, A, P> PooledArena<T, A, P>where
A: UnsafeArena<Entry<T, P>, Ptr = P>,
P: Clone + Default + PartialEq + Eq + Debug,
impl<T, A, P> PooledArena<T, A, P>where
A: UnsafeArena<Entry<T, P>, Ptr = P>,
P: Clone + Default + PartialEq + Eq + Debug,
Trait Implementations
sourceimpl<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,
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,
sourceimpl<T: Debug, A: Debug, P: Debug> Debug for PooledArena<T, A, P>where
A: UnsafeArena<Entry<T, P>, Ptr = P>,
P: Clone + Default + PartialEq + Eq + Debug,
impl<T: Debug, A: Debug, P: Debug> Debug for PooledArena<T, A, P>where
A: UnsafeArena<Entry<T, P>, Ptr = P>,
P: Clone + Default + PartialEq + Eq + Debug,
sourceimpl<T, A, P> UnsafeArena<T> for PooledArena<T, A, P>where
A: UnsafeArena<Entry<T, P>, Ptr = P>,
P: Clone + Default + PartialEq + Eq + Debug,
impl<T, A, P> UnsafeArena<T> for PooledArena<T, A, P>where
A: UnsafeArena<Entry<T, P>, Ptr = P>,
P: Clone + Default + PartialEq + Eq + Debug,
type Ptr = <A as UnsafeArena<Entry<T, P>>>::Ptr
type Ptr = <A as UnsafeArena<Entry<T, P>>>::Ptr
Pointer type. Read more
sourceunsafe fn get_unchecked(&self, ptr: &Self::Ptr) -> &T
unsafe fn get_unchecked(&self, ptr: &Self::Ptr) -> &T
Get a reference to a contained value, without a pointer validity check.
sourceunsafe fn get_unchecked_mut(&mut self, ptr: &Self::Ptr) -> &mut T
unsafe fn get_unchecked_mut(&mut self, ptr: &Self::Ptr) -> &mut T
Get a mutable reference to a contained value, without a pointer validity
check. Read more
sourceunsafe fn remove_unchecked(&mut self, ptr: &Self::Ptr) -> T
unsafe fn remove_unchecked(&mut self, ptr: &Self::Ptr) -> T
Remove a value from the arena, without a pointer validity check. Read more
sourceimpl<T, A, P> UnsafeArenaWithMembershipCheck<T> for PooledArena<T, A, P>where
A: UnsafeArena<Entry<T, P>, Ptr = P> + UnsafeArenaWithMembershipCheck<Entry<T, P>>,
P: Clone + Default + PartialEq + Eq + Debug,
impl<T, A, P> UnsafeArenaWithMembershipCheck<T> for PooledArena<T, A, P>where
A: UnsafeArena<Entry<T, P>, Ptr = P> + UnsafeArenaWithMembershipCheck<Entry<T, P>>,
P: Clone + Default + PartialEq + Eq + Debug,
sourceunsafe fn contains_unchecked(&self, ptr: &Self::Ptr) -> bool
unsafe fn contains_unchecked(&self, ptr: &Self::Ptr) -> bool
Return
true
if the pointer was created from the same instance of the
arena. Read moreAuto Trait Implementations
impl<T, A, P> RefUnwindSafe for PooledArena<T, A, P>where
A: RefUnwindSafe,
P: RefUnwindSafe,
T: RefUnwindSafe,
impl<T, A, P> Send for PooledArena<T, A, P>where
A: Send,
P: Send,
T: Send,
impl<T, A, P> Sync for PooledArena<T, A, P>where
A: Sync,
P: Sync,
T: Sync,
impl<T, A, P> Unpin for PooledArena<T, A, P>where
A: Unpin,
P: Unpin,
T: Unpin,
impl<T, A, P> UnwindSafe for PooledArena<T, A, P>where
A: UnwindSafe,
P: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more