pub enum Entry<'a, K, V> {
Occupied(OccupiedEntry<'a, K, V>),
Vacant(VacantEntry<'a, K, V>),
}
Expand description
A view into a single entry in a map, which may either be vacant or occupied.
This enum is constructed from the entry
method on LinkedHashMap
.
§Examples
use tether_map::Entry;
use tether_map::LinkedHashMap;
let mut map = LinkedHashMap::new();
match map.entry("key") {
Entry::Vacant(entry) => {
entry.insert_tail("value");
}
Entry::Occupied(entry) => {
println!("Key already exists: {}", entry.get());
}
}
Variants§
Implementations§
Source§impl<'a, K, V> Entry<'a, K, V>
impl<'a, K, V> Entry<'a, K, V>
Sourcepub fn or_insert(self, default: V) -> &'a mut V
pub fn or_insert(self, default: V) -> &'a mut V
Ensures a value is in the entry by inserting the provided default if vacant, and returns a mutable reference to the value in the entry.
When inserting, the new entry is linked at the tail (end) of the list,
matching the behavior of insert
/insert_tail
for new keys.
Sourcepub fn and_modify<F>(self, f: F) -> Self
pub fn and_modify<F>(self, f: F) -> Self
If the entry is occupied, applies the provided function to the value in place. Returns the entry for further chaining.
Auto Trait Implementations§
impl<'a, K, V> Freeze for Entry<'a, K, V>where
K: Freeze,
impl<'a, K, V> !RefUnwindSafe for Entry<'a, K, V>
impl<'a, K, V> !Send for Entry<'a, K, V>
impl<'a, K, V> !Sync for Entry<'a, K, V>
impl<'a, K, V> Unpin for Entry<'a, K, V>where
K: Unpin,
impl<'a, K, V> !UnwindSafe for Entry<'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
Mutably borrows from an owned value. Read more