TraitOperator

Trait TraitOperator 

Source
pub trait TraitOperator {
    type InputType;
    type DataType;
    type OutputType;
    type ReportType;

    // Required methods
    fn new(opk: &Operator) -> Self;
    fn get_kind(&self) -> Operator;
    fn prepare_data(
        &self,
        dsk: &Dataset,
        div_index: &DividendIndex,
        ds: Arc<Mutex<dyn TraitDataStore>>,
    ) -> Option<Self::DataType>;
    fn compute(
        &self,
        input: &Self::InputType,
        data: &Self::DataType,
        div_index: &DividendIndex,
    ) -> Self::OutputType;
    fn report(
        &self,
        job_id: ID,
        input: Self::InputType,
        data: &Self::DataType,
        output: Self::OutputType,
    ) -> Self::ReportType;
}

Required Associated Types§

Required Methods§

Source

fn new(opk: &Operator) -> Self

Source

fn get_kind(&self) -> Operator

Source

fn prepare_data( &self, dsk: &Dataset, div_index: &DividendIndex, ds: Arc<Mutex<dyn TraitDataStore>>, ) -> Option<Self::DataType>

Source

fn compute( &self, input: &Self::InputType, data: &Self::DataType, div_index: &DividendIndex, ) -> Self::OutputType

Source

fn report( &self, job_id: ID, input: Self::InputType, data: &Self::DataType, output: Self::OutputType, ) -> Self::ReportType

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§