Trait toad_common::map::Map

source ·
pub trait Map<K: Ord + Eq + Hash, V>: Default + GetSize + Reserve + Extend<(K, V)> + FromIterator<(K, V)> + IntoIterator<Item = (K, V)> {
    // Required methods
    fn insert(&mut self, key: K, val: V) -> Result<(), InsertError<V>>;
    fn remove<Q: Hash + Eq + Ord>(&mut self, key: &Q) -> Option<V>
       where K: Borrow<Q>;
    fn get<'a, Q: Hash + Eq + Ord>(&'a self, key: &Q) -> Option<&'a V>
       where K: Borrow<Q> + 'a;
    fn get_mut<'a, Q: Hash + Eq + Ord>(
        &'a mut self,
        key: &Q
    ) -> Option<&'a mut V>
       where K: Borrow<Q> + 'a;
    fn iter(&self) -> Iter<'_, K, V> ;
    fn iter_mut(&mut self) -> IterMut<'_, K, V> ;

    // Provided method
    fn has<Q: Hash + Eq + Ord>(&self, key: &Q) -> bool
       where K: Borrow<Q> { ... }
}
Expand description

An collection of key-value pairs

Provided implementations

Requirements

Required Methods§

source

fn insert(&mut self, key: K, val: V) -> Result<(), InsertError<V>>

See [HashMap.insert]

source

fn remove<Q: Hash + Eq + Ord>(&mut self, key: &Q) -> Option<V>where K: Borrow<Q>,

See [HashMap.remove]

source

fn get<'a, Q: Hash + Eq + Ord>(&'a self, key: &Q) -> Option<&'a V>where K: Borrow<Q> + 'a,

See [HashMap.get]

source

fn get_mut<'a, Q: Hash + Eq + Ord>(&'a mut self, key: &Q) -> Option<&'a mut V>where K: Borrow<Q> + 'a,

See [HashMap.get_mut]

source

fn iter(&self) -> Iter<'_, K, V>

See [HashMap.iter]

source

fn iter_mut(&mut self) -> IterMut<'_, K, V>

See [HashMap.iter_mut]

Provided Methods§

source

fn has<Q: Hash + Eq + Ord>(&self, key: &Q) -> boolwhere K: Borrow<Q>,

See [HashMap.contains_key]

Implementations on Foreign Types§

source§

impl<K: Eq + Hash + Ord, V> Map<K, V> for BTreeMap<K, V>

source§

fn insert(&mut self, key: K, val: V) -> Result<(), InsertError<V>>

source§

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

source§

fn get<'a, Q: Hash + Eq + Ord>(&'a self, key: &Q) -> Option<&'a V>where K: Borrow<Q> + 'a,

source§

fn get_mut<'a, Q: Hash + Eq + Ord>(&'a mut self, key: &Q) -> Option<&'a mut V>where K: Borrow<Q> + 'a,

source§

fn iter(&self) -> Iter<'_, K, V>

source§

fn iter_mut(&mut self) -> IterMut<'_, K, V>

source§

impl<K: Eq + Hash + Ord, V> Map<K, V> for HashMap<K, V>

source§

fn iter(&self) -> Iter<'_, K, V>

source§

fn iter_mut(&mut self) -> IterMut<'_, K, V>

source§

fn get<'a, Q: Hash + Eq + Ord>(&'a self, key: &Q) -> Option<&'a V>where K: Borrow<Q> + 'a,

source§

fn get_mut<'a, Q: Hash + Eq + Ord>(&'a mut self, key: &Q) -> Option<&'a mut V>where K: Borrow<Q> + 'a,

source§

fn insert(&mut self, key: K, val: V) -> Result<(), InsertError<V>>

source§

fn remove<Q: Hash + Eq + Ord>(&mut self, key: &Q) -> Option<V>where K: Borrow<Q>,

Implementors§

source§

impl<T: Array<Item = (K, V)>, K: Eq + Hash + Ord, V> Map<K, V> for T