pub trait ProcessingProgramAlg: ProcessingSorts {
// Required methods
fn processor(&self, id: impl Into<String>) -> Self::Processor;
fn processing_step(
&self,
stage: ProcessingStage,
processor: Self::Processor,
) -> Self::Step;
fn empty_processing(&self) -> Self::Program;
fn processing(
&self,
steps: impl IntoIterator<Item = Self::Step>,
) -> Self::Program;
fn then_processing(
&self,
first: Self::Program,
next: Self::Program,
) -> Self::Program;
}Expand description
Provides the carriers and primitive constructors for processing programs.
Required Methods§
Sourcefn processing_step(
&self,
stage: ProcessingStage,
processor: Self::Processor,
) -> Self::Step
fn processing_step( &self, stage: ProcessingStage, processor: Self::Processor, ) -> Self::Step
Defines application of one processor at one stage.
Sourcefn empty_processing(&self) -> Self::Program
fn empty_processing(&self) -> Self::Program
Defines the neutral processing program.
Sourcefn processing(
&self,
steps: impl IntoIterator<Item = Self::Step>,
) -> Self::Program
fn processing( &self, steps: impl IntoIterator<Item = Self::Step>, ) -> Self::Program
Defines a program from steps in declaration order.
Sourcefn then_processing(
&self,
first: Self::Program,
next: Self::Program,
) -> Self::Program
fn then_processing( &self, first: Self::Program, next: Self::Program, ) -> Self::Program
Defines sequential program composition.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".