heapless

Module 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§

Traits§

  • The linked list kind: min-list or max-list
  • Trait for defining an index for the linked list, never implemented by users.