pub struct ClosureArena { /* private fields */ }Expand description
An arena of closures that supports allocation and reuse.
Implementations§
Source§impl ClosureArena
impl ClosureArena
Sourcepub fn alloc(&mut self, c: Closure) -> ClosureHandle
pub fn alloc(&mut self, c: Closure) -> ClosureHandle
Insert a closure and return its handle.
Sourcepub fn free(&mut self, h: ClosureHandle)
pub fn free(&mut self, h: ClosureHandle)
Release a closure back to the pool.
Sourcepub fn get(&self, h: ClosureHandle) -> Option<&Closure>
pub fn get(&self, h: ClosureHandle) -> Option<&Closure>
Get a reference to a closure by handle.
Sourcepub fn get_mut(&mut self, h: ClosureHandle) -> Option<&mut Closure>
pub fn get_mut(&mut self, h: ClosureHandle) -> Option<&mut Closure>
Get a mutable reference.
Sourcepub fn live_count(&self) -> usize
pub fn live_count(&self) -> usize
Number of live closures.
Sourcepub fn alloc_count(&self) -> u64
pub fn alloc_count(&self) -> u64
Total allocations.
Sourcepub fn free_count(&self) -> u64
pub fn free_count(&self) -> u64
Total frees.
Sourcepub fn iter(&self) -> impl Iterator<Item = (ClosureHandle, &Closure)>
pub fn iter(&self) -> impl Iterator<Item = (ClosureHandle, &Closure)>
Iterate over live closures with their handles.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ClosureArena
impl RefUnwindSafe for ClosureArena
impl Send for ClosureArena
impl Sync for ClosureArena
impl Unpin for ClosureArena
impl UnsafeUnpin for ClosureArena
impl UnwindSafe for ClosureArena
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