Map

Trait Map 

Source
pub trait Map<K, V: Clone> {
    // Required methods
    fn with_capacity(cap: usize) -> Self;
    fn get(&self, key: &K) -> Option<V>;
    fn insert(&self, key: &K, value: V) -> Option<V>;
    fn try_insert(&self, key: &K, value: V) -> Option<V>;
    fn remove(&self, key: &K) -> Option<V>;
    fn entries(&self) -> Vec<(K, V)>;
    fn contains_key(&self, key: &K) -> bool;
    fn len(&self) -> usize;

    // Provided method
    fn get_or_insert<F: Fn() -> V>(&self, key: &K, func: F) -> V { ... }
}

Required Methods§

Source

fn with_capacity(cap: usize) -> Self

Source

fn get(&self, key: &K) -> Option<V>

Source

fn insert(&self, key: &K, value: V) -> Option<V>

Source

fn try_insert(&self, key: &K, value: V) -> Option<V>

Source

fn remove(&self, key: &K) -> Option<V>

Source

fn entries(&self) -> Vec<(K, V)>

Source

fn contains_key(&self, key: &K) -> bool

Source

fn len(&self) -> usize

Provided Methods§

Source

fn get_or_insert<F: Fn() -> V>(&self, key: &K, func: F) -> V

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<ALLOC: GlobalAlloc + Default, H: Hasher + Default> Map<usize, usize> for WordMap<ALLOC, H>

Source§

impl<K: Clone + Hash + Eq, V: Clone, ALLOC: GlobalAlloc + Default, H: Hasher + Default> Map<K, V> for HashMap<K, V, ALLOC, H>

Source§

impl<V: Clone, ALLOC: GlobalAlloc + Default, H: Hasher + Default> Map<usize, V> for ObjectMap<V, ALLOC, H>