KvMap

Trait KvMap 

Source
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

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.

Implementations on Foreign Types§

Source§

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

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)> + '_>

Implementors§

Source§

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