pub enum RawEntryMut<'a, K, V, S> {
Occupied(RawOccupiedEntryMut<'a, K, V, S>),
Vacant(RawVacantEntryMut<'a, K, V, S>),
}
Expand description
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§
Source§impl<'a, K, V, S> RawEntryMut<'a, K, V, S>
impl<'a, K, V, S> RawEntryMut<'a, K, V, S>
Sourcepub fn index(&self) -> usize
pub fn index(&self) -> usize
Return the index where the key-value pair exists or may be inserted.
Sourcepub fn or_insert(
self,
default_key: K,
default_value: V,
) -> (&'a mut K, &'a mut V)where
K: Hash,
S: BuildHasher,
pub 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.
Sourcepub fn or_insert_with<F>(self, call: F) -> (&'a mut K, &'a mut V)
pub fn or_insert_with<F>(self, call: F) -> (&'a mut K, &'a mut V)
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.
Sourcepub fn and_modify<F>(self, f: F) -> Self
pub fn and_modify<F>(self, f: F) -> Self
Modifies the entry if it is occupied.
Trait Implementations§
Auto Trait Implementations§
impl<'a, K, V, S> Freeze for RawEntryMut<'a, K, V, S>
impl<'a, K, V, S> RefUnwindSafe for RawEntryMut<'a, K, V, S>
impl<'a, K, V, S> Send for RawEntryMut<'a, K, V, S>
impl<'a, K, V, S> Sync for RawEntryMut<'a, K, V, S>
impl<'a, K, V, S> Unpin for RawEntryMut<'a, K, V, S>
impl<'a, K, V, S> !UnwindSafe for RawEntryMut<'a, K, V, S>
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
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 32 bytes
Size for each variant:
Occupied
: 32 bytesVacant
: 32 bytes