pub trait AllocMap<K, V>where
    K: Hash + Eq,
{ fn contains_key<Q>(&mut self, k: &Q) -> bool
   where
        Q: Hash + Eq + ?Sized,
        K: Borrow<Q>
; fn insert(&mut self, k: K, v: V) -> Option<V>; fn remove<Q>(&mut self, k: &Q) -> Option<V>
   where
        Q: Hash + Eq + ?Sized,
        K: Borrow<Q>
; fn filter_map_collect<T>(
        &self,
        f: impl FnMut(&K, &V) -> Option<T>
    ) -> Vec<T, Global>; fn get_or<E>(
        &self,
        k: K,
        vacant: impl FnOnce() -> Result<V, E>
    ) -> Result<&V, E>; fn get_mut_or<E>(
        &mut self,
        k: K,
        vacant: impl FnOnce() -> Result<V, E>
    ) -> Result<&mut V, E>; fn get(&self, k: K) -> Option<&V> { ... } fn get_mut(&mut self, k: K) -> Option<&mut V> { ... } }
Expand description

The functionality needed by memory to manage its allocations

Required Methods

Tests if the map contains the given key. Deliberately takes &mut because that is sufficient, and some implementations can be more efficient then (using RefCell::get_mut).

Inserts a new entry into the map.

Removes an entry from the map.

Returns data based on the keys and values in the map.

Returns a reference to entry k. If no such entry exists, call vacant and either forward its error, or add its result to the map and return a reference to that.

Returns a mutable reference to entry k. If no such entry exists, call vacant and either forward its error, or add its result to the map and return a reference to that.

Provided Methods

Read-only lookup.

Mutable lookup.

Implementors