Struct hypertree::red_black_tree::RedBlackTree
source · pub struct RedBlackTree<'a, V: Payload> { /* private fields */ }
Expand description
A Red-Black tree which supports random access O(log n), insert O(log n), delete O(log n), and get max O(1)
Implementations§
Trait Implementations§
source§impl<'a, V: Payload> GetRedBlackTreeData<'a> for RedBlackTree<'a, V>
impl<'a, V: Payload> GetRedBlackTreeData<'a> for RedBlackTree<'a, V>
source§impl<'a, V: Payload> GetRedBlackTreeReadOnlyData<'a> for RedBlackTree<'a, V>
impl<'a, V: Payload> GetRedBlackTreeReadOnlyData<'a> for RedBlackTree<'a, V>
source§impl<'a, V: Payload> HyperTreeWriteOperations<'a, V> for RedBlackTree<'a, V>
impl<'a, V: Payload> HyperTreeWriteOperations<'a, V> for RedBlackTree<'a, V>
Auto Trait Implementations§
impl<'a, V> Freeze for RedBlackTree<'a, V>
impl<'a, V> RefUnwindSafe for RedBlackTree<'a, V>where
V: RefUnwindSafe,
impl<'a, V> Send for RedBlackTree<'a, V>where
V: Sync,
impl<'a, V> Sync for RedBlackTree<'a, V>where
V: Sync,
impl<'a, V> Unpin for RedBlackTree<'a, V>
impl<'a, V> !UnwindSafe for RedBlackTree<'a, V>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<'a, T> HyperTreeReadOperations<'a> for Twhere
T: GetRedBlackTreeReadOnlyData<'a>,
impl<'a, T> HyperTreeReadOperations<'a> for Twhere
T: GetRedBlackTreeReadOnlyData<'a>,
source§fn lookup_index<V>(&'a self, value: &V) -> u32where
V: Payload,
fn lookup_index<V>(&'a self, value: &V) -> u32where
V: Payload,
Lookup the index of a given value.
source§fn get_max_index(&self) -> u32
fn get_max_index(&self) -> u32
Get the max index. If a tree set this to NIL on a non-empty tree, this will always be NIL.
source§fn get_root_index(&self) -> u32
fn get_root_index(&self) -> u32
Get the current root index.
source§fn get_next_lower_index<V>(&'a self, index: u32) -> u32where
V: Payload,
fn get_next_lower_index<V>(&'a self, index: u32) -> u32where
V: Payload,
Get the previous index. This walks the tree, so does not care about equal keys.
source§fn get_next_higher_index<V>(&'a self, index: u32) -> u32where
V: Payload,
fn get_next_higher_index<V>(&'a self, index: u32) -> u32where
V: Payload,
Get the next index. This walks the tree, so does not care about equal keys. Used to swap an internal node with the next leaf, when insert or delete points at an internal node. It should never be called on leaf nodes.