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 SortedLinkedList
with specific backing storage.
Index for the SortedLinkedList
with specific backing storage.
Index for the SortedLinkedList
with 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.