# Struct indexmap::map::OccupiedEntry [−] [src]

    pub struct OccupiedEntry<'a, K, V> { /* fields omitted */ }

A view into an occupied entry in a `IndexMap`. It is part of the `Entry` enum.

## Implementations

### `impl<'a, K, V> OccupiedEntry<'a, K, V>` [src]

#### `pub fn key(&self) -> &K` [src]

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.

#### `pub fn get(&self) -> &V` [src]

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

#### `pub fn get_mut(&mut self) -> &mut V` [src]

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

#### `pub fn index(&self) -> usize` [src]

Return the index of the key-value pair

#### `pub fn into_mut(self) -> &'a mut V` [src]

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

#### `pub fn swap_remove_entry(self) -> (K, V)` [src]

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

#### `pub fn shift_remove_entry(self) -> (K, V)` [src]

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

### `impl<K, V> OccupiedEntry<'_, K, V>` [src]

#### `pub fn insert(&mut self, value: V) -> V` [src]

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

#### `pub fn remove(self) -> V` [src]

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

NOTE: This is equivalent to `.swap_remove()`.

#### `pub fn swap_remove(self) -> V` [src]

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

#### `pub fn shift_remove(self) -> V` [src]

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

#### `pub fn remove_entry(self) -> (K, V)` [src]

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

NOTE: This is equivalent to `.swap_remove_entry()`.

## Trait Implementations

### `impl<K: Debug, V: Debug> Debug for OccupiedEntry<'_, K, V>` [src]

#### `fn fmt(&self, f: &mut Formatter<'_>) -> Result` [src]

Formats the value using the given formatter. Read more

### `impl<K: Sync, V: Sync> Sync for OccupiedEntry<'_, K, V>` [src]

## Auto Trait Implementations

### `impl<'a, K, V> RefUnwindSafe for OccupiedEntry<'a, K, V> where
K: RefUnwindSafe,
V: RefUnwindSafe,`

### `impl<'a, K, V> Send for OccupiedEntry<'a, K, V> where
K: Send,
V: Send,`

### `impl<'a, K, V> Unpin for OccupiedEntry<'a, K, V> where
K: Unpin,`

### `impl<'a, K, V> !UnwindSafe for OccupiedEntry<'a, K, V>`

## Blanket Implementations

### `impl<T> Any for T where
T: 'static + ?Sized,` [src]

#### `pub fn type_id(&self) -> TypeId` [src]

Gets the `TypeId` of `self`. Read more

### `impl<T> Borrow<T> for T where
T: ?Sized,` [src]

#### `pub fn borrow(&self) -> &T` [src]

Immutably borrows from an owned value. Read more

### `impl<T> BorrowMut<T> for T where
T: ?Sized,` [src]

#### `pub fn borrow_mut(&mut self) -> &mut T` [src]

Mutably borrows from an owned value. Read more

### `impl<T> From<T> for T` [src]

#### `pub fn from(t: T) -> T` [src]

Performs the conversion.

### `impl<T, U> Into<U> for T where
U: From<T>,` [src]

#### `pub fn into(self) -> U` [src]

Performs the conversion.

### `impl<T, U> TryFrom<U> for T where
U: Into<T>,` [src]

#### `type Error = Infallible`

The type returned in the event of a conversion error.

#### `pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>` [src]

Performs the conversion.

### `impl<T, U> TryInto<U> for T where
U: TryFrom<T>,` [src]

#### `type Error = <U as TryFrom<T>>::Error`

The type returned in the event of a conversion error.

#### `pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>` [src]

Performs the conversion.