Struct indexmap::map::OccupiedEntry

source ·
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

Gets a reference to the entry’s key in the map.

Note that this is not the key that was used to find the entry. There may be an observable difference if the key type has any distinguishing features outside of Hash and Eq, like extra fields or the memory address of an allocation.

Gets a reference to the entry’s value in the map.

Gets a mutable reference to the entry’s value in the map.

If you need a reference which may outlive the destruction of the Entry value, see into_mut.

Return the index of the key-value pair

Converts into a mutable reference to the entry’s value in the map, with a lifetime bound to the map itself.

source

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 position of what used to be the last element!

Computes in O(1) time (average).

source

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

Sets the value of the entry to value, and returns the entry’s old value.

Remove the key, value pair stored in the map for this entry, and return the value.

NOTE: This is equivalent to .swap_remove().

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 position of what used to be the last element!

Computes in O(1) time (average).

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

source

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

Formats the value using the given formatter. Read more

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.

The alignment of pointer.
The type for initializers.
Initializes a with the given initializer. Read more
Dereferences the given pointer. Read more
Mutably dereferences the given pointer. Read more
Drops the object pointed to by the given pointer. Read more
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.