pub trait NodeOps<K: Ord, V> {
Show 17 methods
// Required methods
fn is_child(&self) -> bool;
fn get_state(&self) -> NodeState;
fn is_same(&self, other: &Self) -> bool;
fn key_cmp(&self, other: &Self) -> Ordering;
fn take_parent(&mut self) -> Option<NodePtr<K, V>>;
fn take_parent_strong(&mut self) -> Option<NodePtr<K, V>>;
fn take_left(&mut self) -> Option<NodePtr<K, V>>;
fn take_right(&mut self) -> Option<NodePtr<K, V>>;
fn parent(&self) -> &Option<NodePtr<K, V>>;
fn parent_mut(&mut self) -> &mut Option<NodePtr<K, V>>;
fn left(&self) -> &Option<NodePtr<K, V>>;
fn left_mut(&mut self) -> &mut Option<NodePtr<K, V>>;
fn right(&self) -> &Option<NodePtr<K, V>>;
fn right_mut(&mut self) -> &mut Option<NodePtr<K, V>>;
fn key(&self) -> &K;
fn value(&self) -> &V;
fn value_mut(&mut self) -> &mut V;
}
Expand description
ポインタに対する操作
Required Methods§
sourcefn take_parent(&mut self) -> Option<NodePtr<K, V>>
fn take_parent(&mut self) -> Option<NodePtr<K, V>>
親へのポインタを切り離す
sourcefn take_parent_strong(&mut self) -> Option<NodePtr<K, V>>
fn take_parent_strong(&mut self) -> Option<NodePtr<K, V>>
親へのポインタを切り離し,強参照を取得する
sourcefn take_right(&mut self) -> Option<NodePtr<K, V>>
fn take_right(&mut self) -> Option<NodePtr<K, V>>
右の子へのポインタを切り離す
sourcefn parent_mut(&mut self) -> &mut Option<NodePtr<K, V>>
fn parent_mut(&mut self) -> &mut Option<NodePtr<K, V>>
親の可変参照を取得する