Enum RawEntryMut

pub enum RawEntryMut<'a, K, V, S>

Raw entry for an existing key-value pair or a vacant location to insert one.

Variants

Occupied(RawOccupiedEntryMut<'a, K, V, S>)

Existing slot with equivalent key.

Vacant(RawVacantEntryMut<'a, K, V, S>)

Vacant slot (no equivalent key in the map).

Implementations

impl<'a, K, V, S> RawEntryMut<'a, K, V, S>

fn index(&self) -> usize

Return the index where the key-value pair exists or may be inserted.

fn or_insert(self, default_key: K, default_value: V) -> (&'a mut K, &'a mut V)
where
    K: Hash,
    S: BuildHasher,

Inserts the given default key and value in the entry if it is vacant and returns mutable references to them. Otherwise mutable references to an already existent pair are returned.

fn or_insert_with<F>(self, call: F) -> (&'a mut K, &'a mut V)
where
    F: FnOnce() -> (K, V),
    K: Hash,
    S: BuildHasher,

Inserts the result of the call function in the entry if it is vacant and returns mutable references to them. Otherwise mutable references to an already existent pair are returned.

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

Modifies the entry if it is occupied.

Trait Implementations

impl<K: Debug, V: Debug, S> Debug for RawEntryMut<'_, K, V, S>

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Auto Trait Implementations

impl<'a, K, V, S> !UnwindSafe for RawEntryMut<'a, K, V, S>

impl<'a, K, V, S> Freeze for RawEntryMut<'a, K, V, S> where RawOccupiedEntryMut<'a, K, V, S>: Freeze, RawVacantEntryMut<'a, K, V, S>: Freeze,

impl<'a, K, V, S> RefUnwindSafe for RawEntryMut<'a, K, V, S> where RawOccupiedEntryMut<'a, K, V, S>: RefUnwindSafe, RawVacantEntryMut<'a, K, V, S>: RefUnwindSafe,

impl<'a, K, V, S> Send for RawEntryMut<'a, K, V, S> where RawOccupiedEntryMut<'a, K, V, S>: Send, RawVacantEntryMut<'a, K, V, S>: Send,

impl<'a, K, V, S> Sync for RawEntryMut<'a, K, V, S> where RawOccupiedEntryMut<'a, K, V, S>: Sync, RawVacantEntryMut<'a, K, V, S>: Sync,

impl<'a, K, V, S> Unpin for RawEntryMut<'a, K, V, S> where RawOccupiedEntryMut<'a, K, V, S>: Unpin, RawVacantEntryMut<'a, K, V, S>: Unpin,

impl<'a, K, V, S> UnsafeUnpin for RawEntryMut<'a, K, V, S> where RawOccupiedEntryMut<'a, K, V, S>: UnsafeUnpin, RawVacantEntryMut<'a, K, V, S>: UnsafeUnpin,

Blanket Implementations

impl<T> Any for RawEntryMut<'a, K, V, S> where T: 'static + ?Sized,

fn type_id(&self) -> TypeId

impl<T> Borrow<T> for RawEntryMut<'a, K, V, S> where T: ?Sized,

fn borrow(&self) -> &T

impl<T> BorrowMut<T> for RawEntryMut<'a, K, V, S> where T: ?Sized,

fn borrow_mut(&mut self) -> &mut T

impl<T> From<T> for RawEntryMut<'a, K, V, S>

fn from(t: T) -> T

Returns the argument unchanged.

impl<T, U> Into<U> for RawEntryMut<'a, K, V, S> where U: From<T>,

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

impl<T, U> TryFrom<U> for RawEntryMut<'a, K, V, S> where U: Into<T>,

type Error = never;
fn try_from(value: U) -> Result<T, never>

impl<T, U> TryInto<U> for RawEntryMut<'a, K, V, S> where U: TryFrom<T>,

type Error = <U as TryFrom<T>>::Error;
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>