pub trait LevelTree: Tree {
// Required methods
fn level_ancestor(
&self,
node: Self::NodeHandle,
level: u64,
) -> Option<Self::NodeHandle>;
fn level_next(&self, node: Self::NodeHandle) -> Option<Self::NodeHandle>;
fn level_prev(&self, node: Self::NodeHandle) -> Option<Self::NodeHandle>;
fn level_leftmost(&self, level: u64) -> Option<Self::NodeHandle>;
fn level_rightmost(&self, level: u64) -> Option<Self::NodeHandle>;
}Expand description
A trait for succinct tree data structures that support level-order traversal.
Required Methods§
Sourcefn level_ancestor(
&self,
node: Self::NodeHandle,
level: u64,
) -> Option<Self::NodeHandle>
fn level_ancestor( &self, node: Self::NodeHandle, level: u64, ) -> Option<Self::NodeHandle>
Returns the level’th ancestor of the given node, if it exists. If the level is 0, node
is returned. If node is not a valid node handle, the result is meaningless.
Sourcefn level_next(&self, node: Self::NodeHandle) -> Option<Self::NodeHandle>
fn level_next(&self, node: Self::NodeHandle) -> Option<Self::NodeHandle>
Returns the next node in the level order traversal of the tree, if it exists.
Sourcefn level_prev(&self, node: Self::NodeHandle) -> Option<Self::NodeHandle>
fn level_prev(&self, node: Self::NodeHandle) -> Option<Self::NodeHandle>
Returns the previous node in the level order traversal of the tree, if it exists.
Sourcefn level_leftmost(&self, level: u64) -> Option<Self::NodeHandle>
fn level_leftmost(&self, level: u64) -> Option<Self::NodeHandle>
Returns the leftmost node at the given level, if it exists.
Sourcefn level_rightmost(&self, level: u64) -> Option<Self::NodeHandle>
fn level_rightmost(&self, level: u64) -> Option<Self::NodeHandle>
Returns the rightmost node at the given level, if it exists.