Module sorted_linked_list

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::{Max, SortedLinkedList};
let mut ll: SortedLinkedList<_, Max, 3, u8> = SortedLinkedList::new_u8();

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

FindMutView
Comes from SortedLinkedList::find_mut.
IterView
Iterator for the linked list.
Max
Marker for Max sorted SortedLinkedList.
Min
Marker for Min sorted SortedLinkedList.
Node
A node in the SortedLinkedList.
SortedLinkedListInner
Base struct for SortedLinkedList and SortedLinkedListView, generic over the SortedLinkedListStorage.

Traits§

Kind
The linked list kind: min-list or max-list
SortedLinkedListStorage
Trait defining how data for a container is stored.

Type Aliases§

OwnedSortedLinkedListStorage
Implementation of SortedLinkedListStorage that stores the data in an array [T; N] whose size is known at compile time.
SortedLinkedList
The linked list.
SortedLinkedListView
The linked list.
ViewSortedLinkedListStorage
Implementation of SortedLinkedListStorage that stores the data in an unsized [T].