Trait ContainerEntry

Source
pub trait ContainerEntry<'a> {
    type Key: 'a;
    type Value: 'a;

    // Required methods
    fn or_default(self) -> &'a mut Self::Value
       where Self::Value: Default;
    fn or_insert(self, default: Self::Value) -> &'a mut Self::Value;
    fn or_insert_with<F>(self, default: F) -> &'a mut Self::Value
       where F: FnOnce() -> Self::Value;
    fn or_insert_with_key<F>(self, default: F) -> &'a mut Self::Value
       where F: FnOnce(&Self::Key) -> Self::Value;
    fn key(&self) -> &Self::Key;
    fn and_modify<F>(self, f: F) -> Self
       where F: FnOnce(&mut Self::Value);
}

Required Associated Types§

Source

type Key: 'a

Source

type Value: 'a

Required Methods§

Source

fn or_default(self) -> &'a mut Self::Value
where Self::Value: Default,

Source

fn or_insert(self, default: Self::Value) -> &'a mut Self::Value

Source

fn or_insert_with<F>(self, default: F) -> &'a mut Self::Value
where F: FnOnce() -> Self::Value,

Source

fn or_insert_with_key<F>(self, default: F) -> &'a mut Self::Value
where F: FnOnce(&Self::Key) -> Self::Value,

Source

fn key(&self) -> &Self::Key

Source

fn and_modify<F>(self, f: F) -> Self
where F: FnOnce(&mut Self::Value),

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<'a, K, V> ContainerEntry<'a> for Entry<'a, K, V>
where K: 'a + Ord, V: 'a,

Source§

type Key = K

Source§

type Value = V

Source§

fn or_default(self) -> &'a mut Self::Value
where Self::Value: Default,

Source§

fn or_insert(self, default: Self::Value) -> &'a mut Self::Value

Source§

fn or_insert_with<F>(self, default: F) -> &'a mut Self::Value
where F: FnOnce() -> Self::Value,

Source§

fn or_insert_with_key<F>(self, default: F) -> &'a mut Self::Value
where F: FnOnce(&Self::Key) -> Self::Value,

Source§

fn key(&self) -> &Self::Key

Source§

fn and_modify<F>(self, f: F) -> Self
where F: FnOnce(&mut Self::Value),

Source§

impl<'a, K, V> ContainerEntry<'a> for Entry<'a, K, V>
where K: 'a + Eq + Hash, V: 'a,

Source§

type Key = K

Source§

type Value = V

Source§

fn or_default(self) -> &'a mut Self::Value
where Self::Value: Default,

Source§

fn or_insert(self, default: Self::Value) -> &'a mut Self::Value

Source§

fn or_insert_with<F>(self, default: F) -> &'a mut Self::Value
where F: FnOnce() -> Self::Value,

Source§

fn or_insert_with_key<F>(self, default: F) -> &'a mut Self::Value
where F: FnOnce(&Self::Key) -> Self::Value,

Source§

fn key(&self) -> &Self::Key

Source§

fn and_modify<F>(self, f: F) -> Self
where F: FnOnce(&mut Self::Value),

Implementors§