pub trait Step:
Send
+ Sync
+ Debug {
// Required methods
fn id(&self) -> &str;
fn name(&self) -> &str;
fn labels(&self) -> &[String];
fn add_label(&mut self, label: String);
fn requirements(&self) -> &[TraverserRequirement];
fn process_traverser(&self, traverser: Traverser) -> StepResult;
fn reset(&mut self);
fn clone_step(&self) -> Box<dyn Step>;
fn as_any(&self) -> &(dyn Any + 'static);
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static);
}Expand description
Core step trait - all traversal steps implement this
Required Methods§
Sourcefn requirements(&self) -> &[TraverserRequirement]
fn requirements(&self) -> &[TraverserRequirement]
Requirements this step declares
Sourcefn process_traverser(&self, traverser: Traverser) -> StepResult
fn process_traverser(&self, traverser: Traverser) -> StepResult
Process a single traverser (standard algorithm)
Sourcefn clone_step(&self) -> Box<dyn Step>
fn clone_step(&self) -> Box<dyn Step>
Clone as trait object
Sourcefn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Downcast to mutable concrete type