Struct intrusive_splay_tree::Node
[−]
[src]
pub struct Node<'a> { /* fields omitted */ }
A splay tree node that is embedded within some container type.
The container type may have multiple Node
members to fit into multiple
SplayTree
s. For example, if you had a set of memory blocks and wanted to
query them by either size or alignment. You could have two intrusive
SplayTree
s, one sorted by size and the other by alignment:
struct Monster<'a> { // Intrusive node for splay tree sorted by name. by_name: intrusive_splay_tree::Node<'a>, // Intrusive node for splay tree sorted by health. by_health: intrusive_splay_tree::Node<'a>, // The monster's name. name: String, // The monsters health. health: usize, }
Methods
impl<'a> Node<'a>
[src]
pub fn left(&self) -> Option<&'a Node>
[src]
Get this node's left subtree.
This is a low-level API, and should only be used for custom tree walking and searching, for example to implement a custom pre-order traversal.
Use the unsafe IntrusiveNode::node_to_elem
method to convert the
resulting Node
reference into a reference to its container element
type.
pub fn right(&self) -> Option<&'a Node>
[src]
Get this node's right subtree.
This is a low-level API, and should only be used for custom tree walking and searching, for example to implement a custom pre-order traversal.
Use the unsafe IntrusiveNode::node_to_elem
method to convert the
resulting Node
reference into a reference to its container element
type.