pub struct OccupiedEntry<'a, K, V> { /* private fields */ }
Expand description
A view into an occupied entry in a IndexMap
.
It is part of the Entry
enum.
Implementations§
Source§impl<'a, K, V> OccupiedEntry<'a, K, V>
impl<'a, K, V> OccupiedEntry<'a, K, V>
pub fn key(&self) -> &K
pub fn get(&self) -> &V
pub fn get_mut(&mut self) -> &mut V
pub fn into_mut(self) -> &'a mut V
Sourcepub fn swap_remove_entry(self) -> (K, V)
pub fn swap_remove_entry(self) -> (K, V)
Remove and return the key, value pair stored in the map for this entry
Like Vec::swap_remove
, the pair is removed by swapping it with the
last element of the map and popping it off. This perturbs
the postion of what used to be the last element!
Computes in O(1) time (average).
Sourcepub fn shift_remove_entry(self) -> (K, V)
pub fn shift_remove_entry(self) -> (K, V)
Remove and return the key, value pair stored in the map for this entry
Like Vec::remove
, the pair is removed by shifting all of the
elements that follow it, preserving their relative order.
This perturbs the index of all of those elements!
Computes in O(n) time (average).
Source§impl<K, V> OccupiedEntry<'_, K, V>
impl<K, V> OccupiedEntry<'_, K, V>
Sourcepub fn insert(&mut self, value: V) -> V
pub fn insert(&mut self, value: V) -> V
Sets the value of the entry to value
, and returns the entry’s old value.
Sourcepub fn remove(self) -> V
pub fn remove(self) -> V
Remove the key, value pair stored in the map for this entry, and return the value.
NOTE: This is equivalent to .swap_remove()
.
Sourcepub fn swap_remove(self) -> V
pub fn swap_remove(self) -> V
Remove the key, value pair stored in the map for this entry, and return the value.
Like Vec::swap_remove
, the pair is removed by swapping it with the
last element of the map and popping it off. This perturbs
the postion of what used to be the last element!
Computes in O(1) time (average).
Sourcepub fn shift_remove(self) -> V
pub fn shift_remove(self) -> V
Remove the key, value pair stored in the map for this entry, and return the value.
Like Vec::remove
, the pair is removed by shifting all of the
elements that follow it, preserving their relative order.
This perturbs the index of all of those elements!
Computes in O(n) time (average).
Sourcepub fn remove_entry(self) -> (K, V)
pub fn remove_entry(self) -> (K, V)
Remove and return the key, value pair stored in the map for this entry
NOTE: This is equivalent to .swap_remove_entry()
.
Trait Implementations§
impl<K: Sync, V: Sync> Sync for OccupiedEntry<'_, K, V>
Auto Trait Implementations§
impl<'a, K, V> Freeze for OccupiedEntry<'a, K, V>where
K: Freeze,
impl<'a, K, V> RefUnwindSafe for OccupiedEntry<'a, K, V>where
K: RefUnwindSafe,
V: RefUnwindSafe,
impl<'a, K, V> Send for OccupiedEntry<'a, K, V>
impl<'a, K, V> Unpin for OccupiedEntry<'a, K, V>where
K: Unpin,
impl<'a, K, V> !UnwindSafe for OccupiedEntry<'a, K, V>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more