Expand description
TreeNode for visiting and rewriting expression and plan trees
Structs§
- Transformed
- Result of tree walk / transformation APIs
Enums§
- Tree
Node Recursion - Controls how
TreeNoderecursions should proceed.
Traits§
- Concrete
Tree Node - Instead of implementing
TreeNode, it’s recommended to implement aConcreteTreeNodefor trees that contain nodes with payloads. This approach ensures safe execution of algorithms involving payloads, by enforcing rules for detaching and reattaching child nodes. - DynTree
Node - Helper trait for implementing
TreeNodethat have children stored asArcs. If some trait object, such asdyn T, implements this trait, its relatedArc<dyn T>will automatically implementTreeNode. - Transformed
Result - Transformation helper to access
Transformedfields in aResulteasily. - Tree
Node - API for inspecting and rewriting tree data structures.
- Tree
Node Container TreeNodeContainercontains elements that a function can be applied on or mapped. The elements of the container are siblings so the continuation rules are similar toTreeNodeRecursion::visit_sibling/Transformed::transform_sibling.- Tree
Node Iterator - Transformation helper to process a sequence of iterable tree nodes that are siblings.
- Tree
Node RefContainer TreeNodeRefContainercontains references to elements that a function can be applied on. The elements of the container are siblings so the continuation rules are similar toTreeNodeRecursion::visit_sibling.- Tree
Node Rewriter - A Visitor for recursively
rewriting
TreeNodes viaTreeNode::rewrite. - Tree
Node Visitor - A Visitor for recursively
inspecting
TreeNodes viaTreeNode::visit.