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
TreeNode
recursions should proceed.
Traits§
- Concrete
Tree Node - Instead of implementing
TreeNode
, it’s recommended to implement aConcreteTreeNode
for 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
TreeNode
that have children stored asArc
s. If some trait object, such asdyn T
, implements this trait, its relatedArc<dyn T>
will automatically implementTreeNode
. - Transformed
Result - Transformation helper to access
Transformed
fields in aResult
easily. - Tree
Node - API for inspecting and rewriting tree data structures.
- Tree
Node Container TreeNodeContainer
contains 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 TreeNodeRefContainer
contains 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
TreeNode
s viaTreeNode::rewrite
. - Tree
Node Visitor - A Visitor for recursively
inspecting
TreeNode
s viaTreeNode::visit
.