Skip to main content

ContainerEntry

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".

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§

Source§

impl<'a, K, V> ContainerEntry<'a> for competitive::data_structure::vec_map::Entry<'a, K, V>

Source§

type Key = K

Source§

type Value = V