Trait Pool

Source
pub trait Pool<T> {
    // Required methods
    fn new(capacity: usize) -> Self;
    fn capacity(&self) -> usize;
    fn insert(&mut self, value: T) -> PoolKey;
    fn get(&self, key: &PoolKey) -> Option<&T>;
    fn get_mut(&mut self, key: &PoolKey) -> Option<&mut T>;
    fn take(&mut self, key: &PoolKey) -> Option<T>;
    fn delete(&mut self, key: &PoolKey);
    fn clear(&mut self);
}

Required Methods§

Source

fn new(capacity: usize) -> Self

Source

fn capacity(&self) -> usize

Source

fn insert(&mut self, value: T) -> PoolKey

Source

fn get(&self, key: &PoolKey) -> Option<&T>

Source

fn get_mut(&mut self, key: &PoolKey) -> Option<&mut T>

Source

fn take(&mut self, key: &PoolKey) -> Option<T>

Source

fn delete(&mut self, key: &PoolKey)

Source

fn clear(&mut self)

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<T> Pool<T> for ObjectPool<T>