pub struct FindMut<'a, T, Idx, K, const N: usize>where
    T: Ord,
    Idx: SortedLinkedListIndex,
    K: Kind,
{ /* private fields */ }
Expand description

Implementations

This will pop the element from the list.

Complexity is worst-case O(1).

Example
use heapless::sorted_linked_list::{SortedLinkedList, Max};
let mut ll: SortedLinkedList<_, _, Max, 3> = SortedLinkedList::new_usize();

ll.push(1).unwrap();
ll.push(2).unwrap();
ll.push(3).unwrap();

// Find a value and update it
let mut find = ll.find_mut(|v| *v == 2).unwrap();
find.pop();

assert_eq!(ll.pop(), Ok(3));
assert_eq!(ll.pop(), Ok(1));
assert_eq!(ll.pop(), Err(()));

This will resort the element into the correct position in the list if needed. The resorting will only happen if the element has been accessed mutably.

Same as calling drop.

Complexity is worst-case O(N).

Example
use heapless::sorted_linked_list::{SortedLinkedList, Max};
let mut ll: SortedLinkedList<_, _, Max, 3> = SortedLinkedList::new_usize();

ll.push(1).unwrap();
ll.push(2).unwrap();
ll.push(3).unwrap();

let mut find = ll.find_mut(|v| *v == 2).unwrap();
find.finish(); // No resort, we did not access the value.

let mut find = ll.find_mut(|v| *v == 2).unwrap();
*find += 1000;
find.finish(); // Will resort, we accessed (and updated) the value.

assert_eq!(ll.pop(), Ok(1002));
assert_eq!(ll.pop(), Ok(3));
assert_eq!(ll.pop(), Ok(1));
assert_eq!(ll.pop(), Err(()));

Trait Implementations

The resulting type after dereferencing.
Dereferences the value.
Mutably dereferences the value.
Executes the destructor for this type. 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 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.