Skip to main content

ProcessingProgramAlg

Trait ProcessingProgramAlg 

Source
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§

Source

fn processor(&self, id: impl Into<String>) -> Self::Processor

Defines a processor identity.

Source

fn processing_step( &self, stage: ProcessingStage, processor: Self::Processor, ) -> Self::Step

Defines application of one processor at one stage.

Source

fn empty_processing(&self) -> Self::Program

Defines the neutral processing program.

Source

fn processing( &self, steps: impl IntoIterator<Item = Self::Step>, ) -> Self::Program

Defines a program from steps in declaration order.

Source

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".

Implementors§