Skip to main content

SortableBookmarkableWeave

Trait SortableBookmarkableWeave 

Source
pub trait SortableBookmarkableWeave<K, N, T>: BookmarkableWeave<K, N, T> + SortableWeave<K, N, T>
where K: Hash + Copy + Eq + Ord, N: Node<K, T>,
{ // Required methods fn sort_bookmarks_by(&mut self, cmp: impl FnMut(&N, &N) -> Ordering); fn sort_bookmarks_by_id(&mut self, cmp: impl FnMut(&K, &K) -> Ordering); }
Expand description

A Weave where the ordering of bookmarked nodes is stable and can be user-defined.

Required Methods§

Source

fn sort_bookmarks_by(&mut self, cmp: impl FnMut(&N, &N) -> Ordering)

Sorts bookmarked nodes using the comparison function cmp.

§Panics

May panic if cmp does not implement a total order, or if cmp itself panics.

Source

fn sort_bookmarks_by_id(&mut self, cmp: impl FnMut(&K, &K) -> Ordering)

Sorts the identifiers of bookmarked nodes using the comparison function cmp.

§Panics

May panic if cmp does not implement a total order, or if cmp itself panics.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<K, T, M, S> SortableBookmarkableWeave<K, DependentNode<K, T, S>, T> for DependentWeave<K, T, M, S>
where K: Hash + Copy + Eq + Ord, S: BuildHasher + Default + Clone,

Source§

impl<K, T, M, S> SortableBookmarkableWeave<K, IndependentNode<K, T, S>, T> for IndependentWeave<K, T, M, S>

Source§

impl<W, K, N, T, M> SortableBookmarkableWeave<K, N, T> for LoggedWeave<W, K, N, T, M>
where W: SortableBookmarkableWeave<K, N, T>, K: Hash + Copy + Eq + Ord, N: Node<K, T> + Clone, for<'a> &'a N::To: IntoIterator<Item = &'a K>, for<'a> &'a W::Roots: IntoIterator<Item = &'a K>, for<'a> &'a W::Bookmarks: IntoIterator<Item = &'a K>,

Source§

impl<W, K, N, T> SortableBookmarkableWeave<K, N, T> for CountedWeave<W, K, N, T>
where W: SortableBookmarkableWeave<K, N, T>, K: Hash + Copy + Eq + Ord, N: Node<K, T>,