[−][src]Enum im::hashmap::Entry
A handle for a key and its associated value.
Performance Note
When using an Entry
, the key is only ever hashed once, when you
create the Entry
. Operations on an Entry
will never trigger a
rehash, where eg. a contains_key(key)
followed by an
insert(key, default_value)
(the equivalent of
Entry::or_insert()
) would need to hash the key once for the
contains_key
and again for the insert
. The operations
generally perform similarly otherwise.
Variants
Occupied(OccupiedEntry<'a, K, V, S>)
Vacant(VacantEntry<'a, K, V, S>)
Methods
impl<'a, K, V, S> Entry<'a, K, V, S> where
K: 'a + Hash + Eq + Clone,
V: 'a + Clone,
S: 'a + BuildHasher,
[src]
impl<'a, K, V, S> Entry<'a, K, V, S> where
K: 'a + Hash + Eq + Clone,
V: 'a + Clone,
S: 'a + BuildHasher,
pub fn or_insert(self, default: V) -> &'a mut V | [src] |
Insert the default value provided if there was no value already, and return a mutable reference to the value.
pub fn or_insert_with<F>(self, default: F) -> &'a mut V where | [src] |
Insert the default value from the provided function if there was no value already, and return a mutable reference to the value.
pub fn or_default(self) -> &'a mut V where | [src] |
Insert a default value if there was no value already, and return a mutable reference to the value.
| [src] |
Get the key for this entry.
pub fn and_modify<F>(self, f: F) -> Self where | [src] |
Call the provided function to modify the value if the value exists.
Auto Trait Implementations
impl<'a, K, V, S> Send for Entry<'a, K, V, S> where
K: Send + Sync,
S: Send + Sync,
V: Send + Sync,
impl<'a, K, V, S> Send for Entry<'a, K, V, S> where
K: Send + Sync,
S: Send + Sync,
V: Send + Sync,
impl<'a, K, V, S> Sync for Entry<'a, K, V, S> where
K: Send + Sync,
S: Send + Sync,
V: Send + Sync,
impl<'a, K, V, S> Sync for Entry<'a, K, V, S> where
K: Send + Sync,
S: Send + Sync,
V: Send + Sync,
Blanket Implementations
impl<T> From for T
[src]
impl<T> From for T
impl<T, U> Into for T where
U: From<T>,
[src]
impl<T, U> Into for T where
U: From<T>,
impl<T, U> TryFrom for T where
T: From<U>,
[src]
impl<T, U> TryFrom for T where
T: From<U>,
type Error = !
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error> | [src] |
impl<T> Borrow for T where
T: ?Sized,
[src]
impl<T> Borrow for T where
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
impl<T> BorrowMut for T where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T | [src] |
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error> | [src] |
impl<T> Any for T where
T: 'static + ?Sized,
[src]
impl<T> Any for T where
T: 'static + ?Sized,
fn get_type_id(&self) -> TypeId | [src] |
impl<T> Same for T
[src]
impl<T> Same for T
type Output = T
Should always be Self