pub trait TreeNodeMut {
    // Required method
    fn children_mut(&mut self) -> impl DoubleEndedIterator<Item = &mut Self>;
    // Provided method
    fn iter_mut<T: TraversalOrder>(&mut self) -> TreeIterMut<'_, Self, T>
       where Self: Sized { ... }
}Expand description
Trait for mutable tree traversal.
This trait defines the interface required to iterate over a tree structure with mutable access to the nodes. Any type that implements this trait can be traversed using the provided mutable iterators.
Implementing this trait requires providing a way to access the children of a node mutably, which enables the iterator to traverse the tree structure.
§Examples
use tree_iter::prelude::*;
use tree_iter::tree::Node;
// Create a simple tree
let mut tree = Node {
    value: 1,
    children: vec![Node::new(2), Node::new(3)],
};
// Mutably iterate and modify values
let mut iter = tree.iter_mut::<DepthFirst>();
while let Some(mut node) = iter.next() {
    node.value *= 2;
}
// Values have been doubled
assert_eq!(tree.value, 2);Required Methods§
Sourcefn children_mut(&mut self) -> impl DoubleEndedIterator<Item = &mut Self>
 
fn children_mut(&mut self) -> impl DoubleEndedIterator<Item = &mut Self>
Returns a mutable iterator over the children of this node.
This method must be implemented by all types implementing TreeNodeMut.
Provided Methods§
Sourcefn iter_mut<T: TraversalOrder>(&mut self) -> TreeIterMut<'_, Self, T>where
    Self: Sized,
 
fn iter_mut<T: TraversalOrder>(&mut self) -> TreeIterMut<'_, Self, T>where
    Self: Sized,
Creates a mutable iterator that traverses the tree starting from this node.
§Type Parameters
- T- The traversal order strategy to use (e.g.,- DepthFirstor- BreadthFirst).
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.
Implementors§
impl<T> TreeNodeMut for Node<T>
Implementation of TreeNodeMut for Node<T>.
This allows mutable iteration over the tree.