pub trait NodeFolder {
type NodeTy: Node;
type Result;
// Required method
fn visit_up(
&mut self,
_node: Self::NodeTy,
_children: Vec<Self::Result>,
) -> VortexResult<FoldUp<Self::Result>>;
// Provided method
fn visit_down(
&mut self,
_node: &Self::NodeTy,
) -> VortexResult<FoldDown<Self::Result>> { ... }
}
Expand description
This trait is used to implemet a fold (see NodeFolderContext
), but without a context.
Required Associated Types§
Required Methods§
Provided Methods§
Sourcefn visit_down(
&mut self,
_node: &Self::NodeTy,
) -> VortexResult<FoldDown<Self::Result>>
fn visit_down( &mut self, _node: &Self::NodeTy, ) -> VortexResult<FoldDown<Self::Result>>
visit_down is called when a node is first encountered, in a pre-order traversal. If the node’s children are to be skipped, return Skip. If the node should stop traversal, return Stop. Otherwise, return Continue.