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§
- FindMut
- Comes from
SortedLinkedList::find_mut
. - Iter
- Iterator for the linked list.
- Linked
Index U8 - Index for the
SortedLinkedList
with specific backing storage. - Linked
Index U16 - Index for the
SortedLinkedList
with specific backing storage. - Linked
Index Usize - Index for the
SortedLinkedList
with specific backing storage. - Max
- Marker for Max sorted
SortedLinkedList
. - Min
- Marker for Min sorted
SortedLinkedList
. - Node
- A node in the
SortedLinkedList
. - Sorted
Linked List - The linked list.
Traits§
- Kind
- The linked list kind: min-list or max-list
- Sorted
Linked List Index - Trait for defining an index for the linked list, never implemented by users.