Operation

Trait Operation 

Source
pub trait Operation<R: Value>: Clone + Debug {
    // Required method
    fn evaluate(&self, context: &mut DifferentiatedCPUContext) -> R;
}

Required Methods§

Source

fn evaluate(&self, context: &mut DifferentiatedCPUContext) -> R

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§

Source§

impl Operation<Void> for Noop

Source§

impl Operation<Void> for Void

Source§

impl<CONDITION: Operation<bool>, A: Operation<Void>, B: Operation<Void>> Operation<Void> for Until<CONDITION, A, B>

Source§

impl<LEFT: Operation<bool>, RIGHT: Operation<bool>> Operation<bool> for And<LEFT, RIGHT>

Source§

impl<LEFT: Operation<bool>, RIGHT: Operation<bool>> Operation<bool> for Or<LEFT, RIGHT>

Source§

impl<LEFT: Operation<u32>, RIGHT: Operation<u32>> Operation<u32> for Range<LEFT, RIGHT>

Source§

impl<R1: Value, R2: Value, A: Operation<R1>, B: Operation<R2>> Operation<R1> for InstructionList<R1, R2, A, B>

Source§

impl<R: Calculatable, LEFT: Operation<R>, RIGHT: Operation<R>> Operation<R> for Add<R, LEFT, RIGHT>

Source§

impl<R: Calculatable, LEFT: Operation<R>, RIGHT: Operation<R>> Operation<R> for Divide<R, LEFT, RIGHT>

Source§

impl<R: Calculatable, LEFT: Operation<R>, RIGHT: Operation<R>> Operation<R> for Multiply<R, LEFT, RIGHT>

Source§

impl<R: Calculatable, LEFT: Operation<R>, RIGHT: Operation<R>> Operation<R> for Subtract<R, LEFT, RIGHT>

Source§

impl<R: Calculatable, V: Operation<R>> Operation<R> for Log<R, V>

Source§

impl<R: Computable + PartialEq, LEFT: Operation<R>, RIGHT: Operation<R>> Operation<bool> for Equals<R, LEFT, RIGHT>

Source§

impl<R: Computable + PartialEq, LEFT: Operation<R>, RIGHT: Operation<R>> Operation<bool> for NotEqual<R, LEFT, RIGHT>

Source§

impl<R: Computable + PartialOrd, LEFT: Operation<R>, RIGHT: Operation<R>> Operation<bool> for GreaterThan<R, LEFT, RIGHT>

Source§

impl<R: Computable + PartialOrd, LEFT: Operation<R>, RIGHT: Operation<R>> Operation<bool> for GreaterThanOrEqual<R, LEFT, RIGHT>

Source§

impl<R: Computable + PartialOrd, LEFT: Operation<R>, RIGHT: Operation<R>> Operation<bool> for LessThan<R, LEFT, RIGHT>

Source§

impl<R: Computable + PartialOrd, LEFT: Operation<R>, RIGHT: Operation<R>> Operation<bool> for LessThanOrEqual<R, LEFT, RIGHT>

Source§

impl<R: Computable> Operation<R> for Get<R>

Source§

impl<R: Computable> Operation<R> for Variable<R>

Source§

impl<R: Computable> Operation<R> for R

Source§

impl<R: Computable, G: GetAndSetable<R>, O: Operation<R>> Operation<Void> for Set<R, G, O>

Source§

impl<R: Computable, ITERABLE: Iterable<R>, A: Operation<Void>, B: Operation<Void>> Operation<Void> for ForEach<R, ITERABLE, A, B>

Source§

impl<R: Computable, O: Operation<R>> Operation<Void> for Assign<R, O>

Source§

impl<R: Computable, T: IndexAble, O: Operation<u32>> Operation<R> for Index<R, T, O>

Source§

impl<R: Value, A: Operation<R>, B: Operation<R>> Operation<R> for Either<A, B>

Source§

impl<R: Value, CONDITION: Operation<bool>, A: Operation<R>, B: Operation<Void>, C: Operation<R>, D: Operation<Void>> Operation<R> for IfElse<R, CONDITION, A, B, C, D>

Source§

impl<R: Value, INPUTS: FunctionInputs, A: Operation<R>> Operation<R> for Function<R, INPUTS, A>

Source§

impl<R: Value, INPUTS: FunctionInputs, CALLINPUTS: CallInputs + CallMatchFunctionInputs<INPUTS>, A: Operation<R>> Operation<R> for Call<R, INPUTS, CALLINPUTS, A>

Source§

impl<R: Value, O: Operation<R>> Operation<R> for Returns<R, O>

Source§

impl<R: Value, O: Operation<R>> Operation<R> for OperationWrapper<R, O>

Source§

impl<R: Value, R2: Value, A: Operation<R>, B: Operation<R2>> Operation<R> for Scope<R, R, R2, A, B>