binary-tree-core-0.rs/src/context.rs

12 lines
540 B
Rust

pub unsafe trait BinTreeContext {
type NodeRef: Sized;
fn getParent(&self, node: Self::NodeRef) -> Option<Self::NodeRef>;
fn getLeftChild(&self, node: Self::NodeRef) -> Option<Self::NodeRef>;
fn getRightChild(&self, node: Self::NodeRef) -> Option<Self::NodeRef>;
fn setParent(&mut self, node: Self::NodeRef, newParent: Option<Self::NodeRef>);
fn setLeftChild(&mut self, node: Self::NodeRef, newChild: Option<Self::NodeRef>);
fn setRightChild(&mut self, node: Self::NodeRef, newChild: Option<Self::NodeRef>);
}