pub trait TraversePartialTree {
type ChildIter<'a>: Iterator<Item = NodeId>
where Self: 'a;
// Required methods
fn child_ids(&self, parent_node_id: NodeId) -> Self::ChildIter<'_>;
fn child_count(&self, parent_node_id: NodeId) -> usize;
fn get_child_id(&self, parent_node_id: NodeId, child_index: usize) -> NodeId;
}
Expand description
Taffy’s abstraction for downward tree traversal.
However, this trait does not require access to any node’s other than a single container node’s immediate children unless you also intend to implement TraverseTree
.
Required Associated Types§
Required Methods§
Sourcefn child_ids(&self, parent_node_id: NodeId) -> Self::ChildIter<'_>
fn child_ids(&self, parent_node_id: NodeId) -> Self::ChildIter<'_>
Get the list of children IDs for the given node
Sourcefn child_count(&self, parent_node_id: NodeId) -> usize
fn child_count(&self, parent_node_id: NodeId) -> usize
Get the number of children for the given node
Sourcefn get_child_id(&self, parent_node_id: NodeId, child_index: usize) -> NodeId
fn get_child_id(&self, parent_node_id: NodeId, child_index: usize) -> NodeId
Get a specific child of a node, where the index represents the nth child
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.