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

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.