Module heapless::sorted_linked_list
source · Expand description
A fixed sorted priority linked list, similar to BinaryHeap but with different properties
on push, pop, etc.
For example, the sorting of the list will never memcpy the underlying value, so having large
objects in the list will not cause a performance hit.
Examples
use heapless::sorted_linked_list::{SortedLinkedList, Max};
let mut ll: SortedLinkedList<_, _, Max, 3> = SortedLinkedList::new_usize();
// The largest value will always be first
ll.push(1).unwrap();
assert_eq!(ll.peek(), Some(&1));
ll.push(2).unwrap();
assert_eq!(ll.peek(), Some(&2));
ll.push(3).unwrap();
assert_eq!(ll.peek(), Some(&3));
// This will not fit in the queue.
assert_eq!(ll.push(4), Err(4));Structs
- Comes from
SortedLinkedList::find_mut. - Iterator for the linked list.
- Index for the
SortedLinkedListwith specific backing storage. - Index for the
SortedLinkedListwith specific backing storage. - Index for the
SortedLinkedListwith specific backing storage. - Marker for Max sorted
SortedLinkedList. - Marker for Min sorted
SortedLinkedList. - A node in the
SortedLinkedList. - The linked list.
Traits
- The linked list kind: min-list or max-list
- Trait for defining an index for the linked list, never implemented by users.