Trait git_traverse::tree::visit::Visit [−][src]
pub trait Visit {
type PathId: Clone + Default;
fn set_current_path(&mut self, id: Self::PathId);
fn push_tracked_path_component(&mut self, component: &BStr) -> Self::PathId;
fn push_path_component(&mut self, component: &BStr);
fn pop_path_component(&mut self);
fn visit_tree(&mut self, entry: &Entry<'_>) -> Action;
fn visit_nontree(&mut self, entry: &Entry<'_>) -> Action;
}A trait to allow responding to a traversal designed to observe all entries in a tree, recursively while keeping track of paths if desired.
Associated Types
Loading content...Required methods
fn set_current_path(&mut self, id: Self::PathId)[src]
Sets the path associated with the given id so future calls to push and pop components affect it instead.
fn push_tracked_path_component(&mut self, component: &BStr) -> Self::PathId[src]
Append a component to the end of a path, which may be empty, and associate it with the returned path id.
fn push_path_component(&mut self, component: &BStr)[src]
Append a component to the end of a path, which may be empty.
fn pop_path_component(&mut self)[src]
Removes the last component from the path, which may leave it empty.
fn visit_tree(&mut self, entry: &Entry<'_>) -> Action[src]
Observe a tree entry that is a tree and return an instruction whether to continue or not.
Action::Skip can be used to prevent traversing it, for example if it’s known to the caller already.
The implementation may use the current path to learn where in the tree the change is located.
fn visit_nontree(&mut self, entry: &Entry<'_>) -> Action[src]
Observe a tree entry that is NO tree and return an instruction whether to continue or not.
Action::Skip has no effect here.
The implementation may use the current path to learn where in the tree the change is located.
Implementors
impl Visit for Recorder[src]
impl Visit for Recorder[src]