pub trait SortedLinkedListStorage<T, Idx>: SortedLinkedListSealedStorage<T, Idx> { }
Expand description
Trait defining how data for a container is stored.
There’s two implementations available:
OwnedSortedLinkedListStorage
: stores the data in an array[T; N]
whose size is known at compile time.ViewSortedLinkedListStorage
: stores the data in an unsized[T]
.
This allows SortedLinkedList
to be generic over either sized or unsized storage. The sorted_linked_list
module contains a SortedLinkedListInner
struct that’s generic on SortedLinkedListStorage
,
and two type aliases for convenience:
SortedLinkedList<T, Idx, N>
=SortedLinkedListInner<T, OwnedSortedLinkedListStorage<T, Idx, N>>
SortedLinkedListView<T, Idx>
=SortedLinkedListInner<T, ViewSortedLinkedListStorage<T, Idx>>
SortedLinkedList
can be unsized into SortedLinkedListView
, either by unsizing coercions such as &mut SortedLinkedList -> &mut SortedLinkedListView
or
Box<SortedLinkedList> -> Box<SortedLinkedListView>
, or explicitly with .as_view()
or .as_mut_view()
.
This trait is sealed, so you cannot implement it for your own types. You can only use the implementations provided by this crate.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.