pub enum Entry<'a, K, V, S> where
    K: Hash + Eq + Clone,
    V: Clone,
    S: BuildHasher
{ Occupied(OccupiedEntry<'a, K, V, S>), Vacant(VacantEntry<'a, K, V, S>), }
Expand description

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>)

An entry which exists in the map.

Vacant(VacantEntry<'a, K, V, S>)

An entry which doesn’t exist in the map.

Implementations

Insert the default value provided if there was no value already, and return a mutable reference to the value.

Insert the default value from the provided function if there was no value already, and return a mutable reference to the value.

Insert a default value if there was no value already, and return a mutable reference to the value.

Get the key for this entry.

Call the provided function to modify the value if the value exists.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.