Struct bump_scope::BumpScopeGuardRoot
source · pub struct BumpScopeGuardRoot<'b, A, const MIN_ALIGN: usize = 1, const UP: bool = true>{ /* private fields */ }
Expand description
Returned from Bump::scope_guard
.
This fulfills the same purpose as BumpScopeGuard
, but it does not need to store
the address which the bump pointer needs to be reset to. It simply resets the bump pointer to the very start.
It is allowed to do so because it takes a &mut Bump
to create this guard. This means that no
allocations can be live when the guard is created.
Implementations§
source§impl<'a, A, const MIN_ALIGN: usize, const UP: bool> BumpScopeGuardRoot<'a, A, MIN_ALIGN, UP>
impl<'a, A, const MIN_ALIGN: usize, const UP: bool> BumpScopeGuardRoot<'a, A, MIN_ALIGN, UP>
sourcepub fn reset(&mut self)
pub fn reset(&mut self)
Frees the memory taken up by allocations made since creation of this bump scope guard.
sourcepub fn stats(&self) -> Stats<'_, UP>
pub fn stats(&self) -> Stats<'_, UP>
Returns a type which provides statistics about the memory usage of the bump allocator.
sourcepub fn guaranteed_allocated_stats(&self) -> GuaranteedAllocatedStats<'_, UP>
pub fn guaranteed_allocated_stats(&self) -> GuaranteedAllocatedStats<'_, UP>
Returns a type which provides statistics about the memory usage of the bump allocator.
Trait Implementations§
source§impl<'b, A, const MIN_ALIGN: usize, const UP: bool> Debug for BumpScopeGuardRoot<'b, A, MIN_ALIGN, UP>
impl<'b, A, const MIN_ALIGN: usize, const UP: bool> Debug for BumpScopeGuardRoot<'b, A, MIN_ALIGN, UP>
Auto Trait Implementations§
impl<'b, A, const MIN_ALIGN: usize, const UP: bool> Freeze for BumpScopeGuardRoot<'b, A, MIN_ALIGN, UP>where
MinimumAlignment<MIN_ALIGN>: Sized,
impl<'b, A, const MIN_ALIGN: usize = 1, const UP: bool = true> !RefUnwindSafe for BumpScopeGuardRoot<'b, A, MIN_ALIGN, UP>
impl<'b, A, const MIN_ALIGN: usize = 1, const UP: bool = true> !Send for BumpScopeGuardRoot<'b, A, MIN_ALIGN, UP>
impl<'b, A, const MIN_ALIGN: usize = 1, const UP: bool = true> !Sync for BumpScopeGuardRoot<'b, A, MIN_ALIGN, UP>
impl<'b, A, const MIN_ALIGN: usize, const UP: bool> Unpin for BumpScopeGuardRoot<'b, A, MIN_ALIGN, UP>where
MinimumAlignment<MIN_ALIGN>: Sized,
impl<'b, A, const MIN_ALIGN: usize = 1, const UP: bool = true> !UnwindSafe for BumpScopeGuardRoot<'b, A, MIN_ALIGN, UP>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more