Skip to main content

PoolMut

Trait PoolMut 

Source
pub trait PoolMut<A: ScalarAllocator> {
    // Required methods
    fn insert_mut(&mut self, scalar: OpaqueScalar<A>) -> Option<OpaqueScalar<A>>;
    fn remove_mut(&mut self) -> Option<OpaqueScalar<A>>;
}
Expand description

A pool of ids that can be used to reuse ids in Dynamic.

Required Methods§

Source

fn insert_mut(&mut self, scalar: OpaqueScalar<A>) -> Option<OpaqueScalar<A>>

Put a new id into the pool

Source

fn remove_mut(&mut self) -> Option<OpaqueScalar<A>>

Take an id out of the pool

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<A: ScalarAllocator, P: Pool<A>, F: FnOnce() -> P> PoolMut<A> for Lazy<P, F>

Available on crate feature once_cell only.
Source§

fn insert_mut(&mut self, scalar: OpaqueScalar<A>) -> Option<OpaqueScalar<A>>

Source§

fn remove_mut(&mut self) -> Option<OpaqueScalar<A>>

Source§

impl<A: ScalarAllocator, P: Pool<A>, F: FnOnce() -> P> PoolMut<A> for Lazy<P, F>

Available on crate feature once_cell only.
Source§

fn insert_mut(&mut self, scalar: OpaqueScalar<A>) -> Option<OpaqueScalar<A>>

Source§

fn remove_mut(&mut self) -> Option<OpaqueScalar<A>>

Source§

impl<A: ScalarAllocator, P: PoolMut<A>> PoolMut<A> for Mutex<P>

Available on crate feature std only.
Source§

fn insert_mut(&mut self, scalar: OpaqueScalar<A>) -> Option<OpaqueScalar<A>>

Source§

fn remove_mut(&mut self) -> Option<OpaqueScalar<A>>

Source§

impl<A: ScalarAllocator, P: PoolMut<A>> PoolMut<A> for Mutex<P>

Available on crate feature parking_lot only.
Source§

fn insert_mut(&mut self, scalar: OpaqueScalar<A>) -> Option<OpaqueScalar<A>>

Source§

fn remove_mut(&mut self) -> Option<OpaqueScalar<A>>

Source§

impl<A: ScalarAllocator, T: ?Sized + PoolMut<A>> PoolMut<A> for Cell<T>

Source§

fn insert_mut(&mut self, scalar: OpaqueScalar<A>) -> Option<OpaqueScalar<A>>

Source§

fn remove_mut(&mut self) -> Option<OpaqueScalar<A>>

Source§

impl<A: ScalarAllocator, T: ?Sized + PoolMut<A>> PoolMut<A> for RefCell<T>

Source§

fn insert_mut(&mut self, scalar: OpaqueScalar<A>) -> Option<OpaqueScalar<A>>

Source§

fn remove_mut(&mut self) -> Option<OpaqueScalar<A>>

Source§

impl<A: ScalarAllocator> PoolMut<A> for ()

Source§

fn insert_mut(&mut self, scalar: OpaqueScalar<A>) -> Option<OpaqueScalar<A>>

Source§

fn remove_mut(&mut self) -> Option<OpaqueScalar<A>>

Source§

impl<A: ScalarAllocator> PoolMut<A> for BinaryHeap<OpaqueScalar<A>>
where A::Scalar: Ord,

Source§

fn insert_mut(&mut self, scalar: OpaqueScalar<A>) -> Option<OpaqueScalar<A>>

Source§

fn remove_mut(&mut self) -> Option<OpaqueScalar<A>>

Source§

impl<A: ScalarAllocator> PoolMut<A> for Option<OpaqueScalar<A>>

Source§

fn insert_mut(&mut self, scalar: OpaqueScalar<A>) -> Option<OpaqueScalar<A>>

Source§

fn remove_mut(&mut self) -> Option<OpaqueScalar<A>>

Source§

impl<A: ScalarAllocator> PoolMut<A> for Vec<OpaqueScalar<A>>

Source§

fn insert_mut(&mut self, scalar: OpaqueScalar<A>) -> Option<OpaqueScalar<A>>

Source§

fn remove_mut(&mut self) -> Option<OpaqueScalar<A>>

Source§

impl<A: ScalarAllocator> PoolMut<A> for VecDeque<OpaqueScalar<A>>

Source§

fn insert_mut(&mut self, scalar: OpaqueScalar<A>) -> Option<OpaqueScalar<A>>

Source§

fn remove_mut(&mut self) -> Option<OpaqueScalar<A>>

Source§

impl<P: ?Sized + Pool<A>, A: ScalarAllocator> PoolMut<A> for &P

Source§

fn insert_mut(&mut self, scalar: OpaqueScalar<A>) -> Option<OpaqueScalar<A>>

Source§

fn remove_mut(&mut self) -> Option<OpaqueScalar<A>>

Source§

impl<P: ?Sized + PoolMut<A>, A: ScalarAllocator> PoolMut<A> for &mut P

Source§

fn insert_mut(&mut self, scalar: OpaqueScalar<A>) -> Option<OpaqueScalar<A>>

Source§

fn remove_mut(&mut self) -> Option<OpaqueScalar<A>>

Implementors§

Source§

impl<A: ScalarAllocator, R: Radium<Item = usize>, P: PoolMut<A>> PoolMut<A> for Sequence<R, [P]>

Source§

impl<A: ScalarAllocator<Scalar = ()>> PoolMut<A> for Flag<A>

Source§

impl<A: ScalarAllocator> PoolMut<A> for SyncQueuePool<A>

Available on crate features parking_lot or std only.
Source§

impl<A: ScalarAllocator> PoolMut<A> for SyncStackPool<A>

Available on crate features parking_lot or std only.