Struct RawVacantEntryMut

pub struct RawVacantEntryMut<'a, K, V, S> { /* private fields */ }

A view into a vacant raw entry in an IndexMap. It is part of the RawEntryMut enum.

Implementations

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

fn index(&self) -> usize

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

fn insert(self, key: K, value: V) -> (&'a mut K, &'a mut V)
where
    K: Hash,
    S: BuildHasher,

Inserts the given key and value into the map, and returns mutable references to them.

fn insert_hashed_nocheck(self, hash: u64, key: K, value: V) -> (&'a mut K, &'a mut V)

Inserts the given key and value into the map with the provided hash, and returns mutable references to them.

fn shift_insert(self, index: usize, key: K, value: V) -> (&'a mut K, &'a mut V)
where
    K: Hash,
    S: BuildHasher,

Inserts the given key and value into the map at the given index, shifting others to the right, and returns mutable references to them.

Panics if index is out of bounds.

Computes in O(n) time (average).

fn shift_insert_hashed_nocheck(self, index: usize, hash: u64, key: K, value: V) -> (&'a mut K, &'a mut V)

Inserts the given key and value into the map with the provided hash at the given index, and returns mutable references to them.

Panics if index is out of bounds.

Computes in O(n) time (average).

Trait Implementations

impl<K, V, S> Debug for RawVacantEntryMut<'_, K, V, S>

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

Auto Trait Implementations

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

impl<'a, K, V, S> Freeze for RawVacantEntryMut<'a, K, V, S> where &'a mut Core<K, V>: Freeze, &'a S: Freeze,

impl<'a, K, V, S> RefUnwindSafe for RawVacantEntryMut<'a, K, V, S> where &'a mut Core<K, V>: RefUnwindSafe, &'a S: RefUnwindSafe,

impl<'a, K, V, S> Send for RawVacantEntryMut<'a, K, V, S> where &'a mut Core<K, V>: Send, &'a S: Send,

impl<'a, K, V, S> Sync for RawVacantEntryMut<'a, K, V, S> where &'a mut Core<K, V>: Sync, &'a S: Sync,

impl<'a, K, V, S> Unpin for RawVacantEntryMut<'a, K, V, S> where &'a mut Core<K, V>: Unpin, &'a S: Unpin,

impl<'a, K, V, S> UnsafeUnpin for RawVacantEntryMut<'a, K, V, S> where &'a mut Core<K, V>: UnsafeUnpin, &'a S: UnsafeUnpin,

Blanket Implementations

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

fn type_id(&self) -> TypeId

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

fn borrow(&self) -> &T

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

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

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

fn from(t: T) -> T

Returns the argument unchanged.

impl<T, U> Into<U> for RawVacantEntryMut<'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 RawVacantEntryMut<'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 RawVacantEntryMut<'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>