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

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

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]

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

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

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

Return the index of the key-value pair

pub fn into_mut(self) -> &'a mut 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 postion 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().

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

Trait Implementations

impl<'a, K: 'a + Debug, V: 'a + Debug> Debug for OccupiedEntry<'a, K, V>[src]

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

Formats the value using the given formatter. Read more

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> Sync for OccupiedEntry<'a, K, V> where
    K: Sync,
    V: Sync

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.