pub struct RawOccupiedEntryMut<'a, K, V, S> { /* private fields */ }
Expand description

A raw view into an occupied entry in an IndexMap. It is part of the RawEntryMut enum.

Implementations§

§

impl<'a, K, V, S> RawOccupiedEntryMut<'a, K, V, S>

pub fn index(&self) -> usize

Return the index of the key-value pair

pub fn key(&self) -> &K

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 key_mut(&mut self) -> &mut K

Gets a mutable 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 into_key(self) -> &'a mut K

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

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

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

pub fn get_mut(&mut self) -> &mut V

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

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

pub fn into_mut(self) -> &'a mut V

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

pub fn get_key_value(&self) -> (&K, &V)

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

pub fn get_key_value_mut(&mut self) -> (&mut K, &mut V)

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

pub fn into_key_value_mut(self) -> (&'a mut K, &'a mut V)

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

pub fn insert(&mut self, value: V) -> V

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

pub fn insert_key(&mut self, key: K) -> K

Sets the key of the entry, and returns the entry’s old key.

pub fn remove(self) -> V

👎Deprecated: remove disrupts the map order – use swap_remove or shift_remove for explicit behavior.

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

NOTE: This is equivalent to .swap_remove(), replacing this entry’s position with the last element, and it is deprecated in favor of calling that explicitly. If you need to preserve the relative order of the keys in the map, use .shift_remove() instead.

pub fn swap_remove(self) -> V

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

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)

👎Deprecated: remove_entry disrupts the map order – use swap_remove_entry or shift_remove_entry for explicit behavior.

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

NOTE: This is equivalent to .swap_remove_entry(), replacing this entry’s position with the last element, and it is deprecated in favor of calling that explicitly. If you need to preserve the relative order of the keys in the map, use .shift_remove_entry() instead.

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

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

pub fn move_index(self, to: usize)

Moves the position of the entry to a new index by shifting all other entries in-between.

This is equivalent to IndexMap::move_index coming from the current .index().

  • If self.index() < to, the other pairs will shift down while the targeted pair moves up.
  • If self.index() > to, the other pairs will shift up while the targeted pair moves down.

Panics if to is out of bounds.

Computes in O(n) time (average).

pub fn swap_indices(self, other: usize)

Swaps the position of entry with another.

This is equivalent to IndexMap::swap_indices with the current .index() as one of the two being swapped.

Panics if the other index is out of bounds.

Computes in O(1) time (average).

Trait Implementations§

§

impl<K, V, S> Debug for RawOccupiedEntryMut<'_, K, V, S>
where K: Debug, V: Debug,

§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a, K, V, S> Freeze for RawOccupiedEntryMut<'a, K, V, S>

§

impl<'a, K, V, S> RefUnwindSafe for RawOccupiedEntryMut<'a, K, V, S>

§

impl<'a, K, V, S> Send for RawOccupiedEntryMut<'a, K, V, S>
where S: Sync, K: Send, V: Send,

§

impl<'a, K, V, S> Sync for RawOccupiedEntryMut<'a, K, V, S>
where S: Sync, K: Sync, V: Sync,

§

impl<'a, K, V, S> Unpin for RawOccupiedEntryMut<'a, K, V, S>

§

impl<'a, K, V, S> !UnwindSafe for RawOccupiedEntryMut<'a, K, V, S>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

§

impl<Source, Target> OctetsInto<Target> for Source
where Target: OctetsFrom<Source>,

§

type Error = <Target as OctetsFrom<Source>>::Error

§

fn try_octets_into( self, ) -> Result<Target, <Source as OctetsInto<Target>>::Error>

Performs the conversion.
§

fn octets_into(self) -> Target
where Self::Error: Into<Infallible>,

Performs an infallible conversion.
§

impl<D> OwoColorize for D

§

fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>
where C: Color,

Set the foreground color generically Read more
§

fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>
where C: Color,

Set the background color generically. Read more
§

fn black(&self) -> FgColorDisplay<'_, Black, Self>

Change the foreground color to black
§

fn on_black(&self) -> BgColorDisplay<'_, Black, Self>

Change the background color to black
§

fn red(&self) -> FgColorDisplay<'_, Red, Self>

Change the foreground color to red
§

fn on_red(&self) -> BgColorDisplay<'_, Red, Self>

Change the background color to red
§

fn green(&self) -> FgColorDisplay<'_, Green, Self>

Change the foreground color to green
§

fn on_green(&self) -> BgColorDisplay<'_, Green, Self>

Change the background color to green
§

fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>

Change the foreground color to yellow
§

fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>

Change the background color to yellow
§

fn blue(&self) -> FgColorDisplay<'_, Blue, Self>

Change the foreground color to blue
§

fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>

Change the background color to blue
§

fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>

Change the foreground color to magenta
§

fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>

Change the background color to magenta
§

fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>

Change the foreground color to purple
§

fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>

Change the background color to purple
§

fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>

Change the foreground color to cyan
§

fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>

Change the background color to cyan
§

fn white(&self) -> FgColorDisplay<'_, White, Self>

Change the foreground color to white
§

fn on_white(&self) -> BgColorDisplay<'_, White, Self>

Change the background color to white
§

fn default_color(&self) -> FgColorDisplay<'_, Default, Self>

Change the foreground color to the terminal default
§

fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>

Change the background color to the terminal default
§

fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>

Change the foreground color to bright black
§

fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>

Change the background color to bright black
§

fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>

Change the foreground color to bright red
§

fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>

Change the background color to bright red
§

fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>

Change the foreground color to bright green
§

fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>

Change the background color to bright green
§

fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>

Change the foreground color to bright yellow
§

fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>

Change the background color to bright yellow
§

fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>

Change the foreground color to bright blue
§

fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>

Change the background color to bright blue
§

fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>

Change the foreground color to bright magenta
§

fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>

Change the background color to bright magenta
§

fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>

Change the foreground color to bright purple
§

fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>

Change the background color to bright purple
§

fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>

Change the foreground color to bright cyan
§

fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>

Change the background color to bright cyan
§

fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>

Change the foreground color to bright white
§

fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>

Change the background color to bright white
§

fn bold(&self) -> BoldDisplay<'_, Self>

Make the text bold
§

fn dimmed(&self) -> DimDisplay<'_, Self>

Make the text dim
§

fn italic(&self) -> ItalicDisplay<'_, Self>

Make the text italicized
§

fn underline(&self) -> UnderlineDisplay<'_, Self>

Make the text underlined
Make the text blink
Make the text blink (but fast!)
§

fn reversed(&self) -> ReversedDisplay<'_, Self>

Swap the foreground and background colors
§

fn hidden(&self) -> HiddenDisplay<'_, Self>

Hide the text
§

fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>

Cross out the text
§

fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>
where Color: DynColor,

Set the foreground color at runtime. Only use if you do not know which color will be used at compile-time. If the color is constant, use either [OwoColorize::fg] or a color-specific method, such as [OwoColorize::green], Read more
§

fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>
where Color: DynColor,

Set the background color at runtime. Only use if you do not know what color to use at compile-time. If the color is constant, use either [OwoColorize::bg] or a color-specific method, such as [OwoColorize::on_yellow], Read more
§

fn fg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>

Set the foreground color to a specific RGB value.
§

fn bg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>

Set the background color to a specific RGB value.
§

fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>

Sets the foreground color to an RGB value.
§

fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>

Sets the background color to an RGB value.
§

fn style(&self, style: Style) -> Styled<&Self>

Apply a runtime-determined style
§

fn if_supports_color<'a, Out, ApplyFn>( &'a self, stream: impl Into<Stream>, apply: ApplyFn, ) -> SupportsColorsDisplay<'a, Self, Out, ApplyFn>
where ApplyFn: Fn(&'a Self) -> Out,

Apply a given transformation function to all formatters if the given stream supports at least basic ANSI colors, allowing you to conditionally apply given styles/colors. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<T> ErasedDestructor for T
where T: 'static,

§

impl<T> MaybeSend for T
where T: Send,

§

impl<T> MaybeSendSync for T