pub trait KvMap<K, V>: Extend<(K, V)> + FromIterator<(K, V)> + IntoIterator<Item = (K, V)>where
    K: Ord + Clone,
    V: Clone,{
    // Required methods
    fn get(&self, key: &K) -> Option<&V>;
    fn contains_key(&self, key: &K) -> bool;
    fn len(&self) -> usize;
    fn insert(&mut self, key: K, value: V) -> Option<V>;
    fn remove(&mut self, key: &K) -> Option<V>;
    fn iter(&self) -> Box<dyn Iterator<Item = (&K, &V)> + '_>;

    // Provided method
    fn is_empty(&self) -> bool { ... }
}
Expand description

A trait that defines the interface for a key-value map.

Required Methods§

source

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

source

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

source

fn len(&self) -> usize

source

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

source

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

source

fn iter(&self) -> Box<dyn Iterator<Item = (&K, &V)> + '_>

Provided Methods§

source

fn is_empty(&self) -> bool

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<K, V> KvMap<K, V> for BTreeMap<K, V>where K: Ord + Clone, V: Clone,

source§

impl<K, V> KvMap<K, V> for RecordingMap<K, V>where K: Ord + Clone, V: Clone,