pub trait CrossModuleOperator<Input, Output> {
// Required methods
fn apply(&self, input: &Input) -> CoreResult<Output>;
fn apply_inplace(&self, data: &mut Input) -> CoreResult<()>
where Input: From<Output>;
fn operator_name(&self) -> &str;
fn input_info(&self) -> &str;
fn output_info(&self) -> &str;
fn is_deterministic(&self) -> bool;
}Expand description
Trait for cross-module operators
Required Methods§
Sourcefn apply(&self, input: &Input) -> CoreResult<Output>
fn apply(&self, input: &Input) -> CoreResult<Output>
Apply the operation
Sourcefn apply_inplace(&self, data: &mut Input) -> CoreResult<()>where
Input: From<Output>,
fn apply_inplace(&self, data: &mut Input) -> CoreResult<()>where
Input: From<Output>,
Apply in-place if possible
Sourcefn operator_name(&self) -> &str
fn operator_name(&self) -> &str
Get the operator name
Sourcefn input_info(&self) -> &str
fn input_info(&self) -> &str
Get input type information
Sourcefn output_info(&self) -> &str
fn output_info(&self) -> &str
Get output type information
Sourcefn is_deterministic(&self) -> bool
fn is_deterministic(&self) -> bool
Check if operator is deterministic