Skip to main content

RecursiveSizeBalancedTree

Trait RecursiveSizeBalancedTree 

Source
pub trait RecursiveSizeBalancedTree<T: LinkType> {
Show 30 methods // Required methods unsafe fn get_mut_left_reference(&mut self, node: T) -> *mut T; unsafe fn get_mut_right_reference(&mut self, node: T) -> *mut T; unsafe fn get_left_reference(&self, node: T) -> *const T; unsafe fn get_right_reference(&self, node: T) -> *const T; unsafe fn get_left(&self, node: T) -> T; unsafe fn get_right(&self, node: T) -> T; unsafe fn get_size(&self, node: T) -> T; unsafe fn set_left(&mut self, node: T, left: T); unsafe fn set_right(&mut self, node: T, right: T); unsafe fn set_size(&mut self, node: T, size: T); unsafe fn first_is_to_the_left_of_second(&self, first: T, second: T) -> bool; unsafe fn first_is_to_the_right_of_second( &self, first: T, second: T, ) -> bool; // Provided methods unsafe fn get_left_or_default(&self, node: T) -> T { ... } unsafe fn get_right_or_default(&self, node: T) -> T { ... } unsafe fn get_size_or_zero(&self, node: T) -> T { ... } unsafe fn inc_size(&mut self, node: T) { ... } unsafe fn dec_size(&mut self, node: T) { ... } unsafe fn get_left_size(&self, node: T) -> T { ... } unsafe fn get_right_size(&self, node: T) -> T { ... } unsafe fn fix_size(&mut self, node: T) { ... } unsafe fn left_rotate(&mut self, root: *mut T) { ... } unsafe fn left_rotate_core(&mut self, root: T) -> T { ... } unsafe fn right_rotate(&mut self, root: *mut T) { ... } unsafe fn right_rotate_core(&mut self, root: T) -> T { ... } unsafe fn get_rightest(&self, current: T) -> T { ... } unsafe fn get_leftest(&self, current: T) -> T { ... } unsafe fn get_next(&self, node: T) -> T { ... } unsafe fn get_previous(&self, node: T) -> T { ... } unsafe fn contains(&self, node: T, root: T) -> bool { ... } unsafe fn clear_node(&mut self, node: T) { ... }
}

Required Methods§

Source

unsafe fn get_mut_left_reference(&mut self, node: T) -> *mut T

Source

unsafe fn get_mut_right_reference(&mut self, node: T) -> *mut T

Source

unsafe fn get_left_reference(&self, node: T) -> *const T

Source

unsafe fn get_right_reference(&self, node: T) -> *const T

Source

unsafe fn get_left(&self, node: T) -> T

Source

unsafe fn get_right(&self, node: T) -> T

Source

unsafe fn get_size(&self, node: T) -> T

Source

unsafe fn set_left(&mut self, node: T, left: T)

Source

unsafe fn set_right(&mut self, node: T, right: T)

Source

unsafe fn set_size(&mut self, node: T, size: T)

Source

unsafe fn first_is_to_the_left_of_second(&self, first: T, second: T) -> bool

Source

unsafe fn first_is_to_the_right_of_second(&self, first: T, second: T) -> bool

Provided Methods§

Source

unsafe fn get_left_or_default(&self, node: T) -> T

Source

unsafe fn get_right_or_default(&self, node: T) -> T

Source

unsafe fn get_size_or_zero(&self, node: T) -> T

Source

unsafe fn inc_size(&mut self, node: T)

Source

unsafe fn dec_size(&mut self, node: T)

Source

unsafe fn get_left_size(&self, node: T) -> T

Source

unsafe fn get_right_size(&self, node: T) -> T

Source

unsafe fn fix_size(&mut self, node: T)

Source

unsafe fn left_rotate(&mut self, root: *mut T)

Source

unsafe fn left_rotate_core(&mut self, root: T) -> T

Source

unsafe fn right_rotate(&mut self, root: *mut T)

Source

unsafe fn right_rotate_core(&mut self, root: T) -> T

Source

unsafe fn get_rightest(&self, current: T) -> T

Source

unsafe fn get_leftest(&self, current: T) -> T

Source

unsafe fn get_next(&self, node: T) -> T

Source

unsafe fn get_previous(&self, node: T) -> T

Source

unsafe fn contains(&self, node: T, root: T) -> bool

Source

unsafe fn clear_node(&mut self, node: T)

Implementors§