Trait Computation

Source
pub trait Computation:
    'static
    + Sized
    + Clone {
    type Storage;
    type Output: Eq;

Show 13 methods // Required methods fn run(&self, handle: &mut DbHandle<'_, impl Computation>) -> Self::Output; fn input_to_cell(input: &Self, storage: &Self::Storage) -> Option<Cell>; fn insert_new_cell(cell: Cell, function: Self, storage: &mut Self::Storage); fn get_function_and_output( cell: Cell, storage: &Self::Storage, ) -> (&Self, Option<&Self::Output>); fn set_output(cell: Cell, output: Self::Output, storage: &mut Self::Storage); // Provided methods fn computation_id_of<T: Computation>() -> u32 { ... } fn get_storage<Concrete: Computation + 'static>( computation_id: u32, container: &Self::Storage, ) -> &Concrete::Storage { ... } fn get_storage_mut<Concrete: Computation + 'static>( computation_id: u32, container: &mut Self::Storage, ) -> &mut Concrete::Storage { ... } fn output_is_unset<FullComputation: Computation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &Db<FullComputation>, ) -> bool { ... } fn dispatch_run<FullComputation: Computation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &mut Db<FullComputation>, ) -> bool where Self: Clone, Self::Output: Eq { ... } fn dispatch_update_output<Concrete, FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, output: Concrete::Output, db: &mut Db<FullComputation>, ) -> bool where Concrete: Computation, FullComputation: Computation, Self::Output: Eq { ... } fn dispatch_input_to_cell<Concrete>( input: &Concrete, container: &Self::Storage, ) -> Option<Cell> where Concrete: 'static + Computation + Any { ... } fn dispatch_insert_new_cell<Concrete>( cell: Cell, input: Concrete, storage: &mut Self::Storage, ) where Concrete: 'static + Computation + Any, Concrete::Storage: 'static { ... }
}

Required Associated Types§

Required Methods§

Source

fn run(&self, handle: &mut DbHandle<'_, impl Computation>) -> Self::Output

Source

fn input_to_cell(input: &Self, storage: &Self::Storage) -> Option<Cell>

Source

fn insert_new_cell(cell: Cell, function: Self, storage: &mut Self::Storage)

Source

fn get_function_and_output( cell: Cell, storage: &Self::Storage, ) -> (&Self, Option<&Self::Output>)

Source

fn set_output(cell: Cell, output: Self::Output, storage: &mut Self::Storage)

Provided Methods§

Source

fn computation_id_of<T: Computation>() -> u32

Source

fn get_storage<Concrete: Computation + 'static>( computation_id: u32, container: &Self::Storage, ) -> &Concrete::Storage

Source

fn get_storage_mut<Concrete: Computation + 'static>( computation_id: u32, container: &mut Self::Storage, ) -> &mut Concrete::Storage

Source

fn output_is_unset<FullComputation: Computation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &Db<FullComputation>, ) -> bool

True if this has any cached output

Source

fn dispatch_run<FullComputation: Computation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &mut Db<FullComputation>, ) -> bool
where Self: Clone, Self::Output: Eq,

Given a Cell, TypeId pair dispatch to the correct run function and return true if the value has changed. This should also cache the new value if it has changed. Note that in dispatch functions Self is always the concrete, non-tuple type.

Source

fn dispatch_update_output<Concrete, FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, output: Concrete::Output, db: &mut Db<FullComputation>, ) -> bool
where Concrete: Computation, FullComputation: Computation, Self::Output: Eq,

Dispatch to the correct update_output function to cache the new output and return true if the value has changed. Note that in dispatch functions Self is the current type being dispatched, Concrete, if present, is the non-tuple type of the target computation, and FullComputation is the type of the Db computation parameter which is usually a tuple of every possible computation.

Source

fn dispatch_input_to_cell<Concrete>( input: &Concrete, container: &Self::Storage, ) -> Option<Cell>
where Concrete: 'static + Computation + Any,

Source

fn dispatch_insert_new_cell<Concrete>( cell: Cell, input: Concrete, storage: &mut Self::Storage, )
where Concrete: 'static + Computation + Any, Concrete::Storage: 'static,

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.

Implementations on Foreign Types§

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z> Computation for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)

Source§

type Storage = (<A as Computation>::Storage, <B as Computation>::Storage, <C as Computation>::Storage, <D as Computation>::Storage, <E as Computation>::Storage, <F as Computation>::Storage, <G as Computation>::Storage, <H as Computation>::Storage, <I as Computation>::Storage, <J as Computation>::Storage, <K as Computation>::Storage, <L as Computation>::Storage, <M as Computation>::Storage, <N as Computation>::Storage, <O as Computation>::Storage, <P as Computation>::Storage, <Q as Computation>::Storage, <R as Computation>::Storage, <S as Computation>::Storage, <T as Computation>::Storage, <U as Computation>::Storage, <V as Computation>::Storage, <W as Computation>::Storage, <X as Computation>::Storage, <Y as Computation>::Storage, <Z as Computation>::Storage)

Source§

type Output = ()

Source§

fn run(&self, _: &mut DbHandle<'_, impl Computation>) -> Self::Output

Source§

fn input_to_cell(_: &Self, _: &Self::Storage) -> Option<Cell>

Source§

fn insert_new_cell(_: Cell, _: Self, _: &mut Self::Storage)

Source§

fn get_function_and_output( _: Cell, _: &Self::Storage, ) -> (&Self, Option<&Self::Output>)

Source§

fn set_output(_: Cell, _: Self::Output, _: &mut Self::Storage)

Source§

fn computation_id_of<Concrete: Computation>() -> u32

Source§

fn get_storage<Concrete: Computation + 'static>( computation_id: u32, storage: &Self::Storage, ) -> &Concrete::Storage

Source§

fn get_storage_mut<Concrete: Computation + 'static>( computation_id: u32, storage: &mut Self::Storage, ) -> &mut Concrete::Storage

Source§

fn output_is_unset<FullComputation: Computation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &Db<FullComputation>, ) -> bool

Source§

fn dispatch_run<FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &mut Db<FullComputation>, ) -> bool
where FullComputation: Computation, Self: Clone, Self::Output: Eq,

Source§

fn dispatch_update_output<Concrete, FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, output: Concrete::Output, db: &mut Db<FullComputation>, ) -> bool
where Concrete: Computation, FullComputation: Computation, Self::Output: Eq,

Source§

fn dispatch_input_to_cell<Concrete>( input: &Concrete, storage: &Self::Storage, ) -> Option<Cell>
where Concrete: 'static + Computation + Any,

Source§

fn dispatch_insert_new_cell<Concrete>( cell: Cell, input: Concrete, storage: &mut Self::Storage, )
where Concrete: 'static + Computation + Any, Concrete::Storage: 'static,

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Z> Computation for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Z)

Source§

type Storage = (<A as Computation>::Storage, <B as Computation>::Storage, <C as Computation>::Storage, <D as Computation>::Storage, <E as Computation>::Storage, <F as Computation>::Storage, <G as Computation>::Storage, <H as Computation>::Storage, <I as Computation>::Storage, <J as Computation>::Storage, <K as Computation>::Storage, <L as Computation>::Storage, <M as Computation>::Storage, <N as Computation>::Storage, <O as Computation>::Storage, <P as Computation>::Storage, <Q as Computation>::Storage, <R as Computation>::Storage, <S as Computation>::Storage, <T as Computation>::Storage, <U as Computation>::Storage, <V as Computation>::Storage, <W as Computation>::Storage, <X as Computation>::Storage, <Z as Computation>::Storage)

Source§

type Output = ()

Source§

fn run(&self, _: &mut DbHandle<'_, impl Computation>) -> Self::Output

Source§

fn input_to_cell(_: &Self, _: &Self::Storage) -> Option<Cell>

Source§

fn insert_new_cell(_: Cell, _: Self, _: &mut Self::Storage)

Source§

fn get_function_and_output( _: Cell, _: &Self::Storage, ) -> (&Self, Option<&Self::Output>)

Source§

fn set_output(_: Cell, _: Self::Output, _: &mut Self::Storage)

Source§

fn computation_id_of<Concrete: Computation>() -> u32

Source§

fn get_storage<Concrete: Computation + 'static>( computation_id: u32, storage: &Self::Storage, ) -> &Concrete::Storage

Source§

fn get_storage_mut<Concrete: Computation + 'static>( computation_id: u32, storage: &mut Self::Storage, ) -> &mut Concrete::Storage

Source§

fn output_is_unset<FullComputation: Computation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &Db<FullComputation>, ) -> bool

Source§

fn dispatch_run<FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &mut Db<FullComputation>, ) -> bool
where FullComputation: Computation, Self: Clone, Self::Output: Eq,

Source§

fn dispatch_update_output<Concrete, FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, output: Concrete::Output, db: &mut Db<FullComputation>, ) -> bool
where Concrete: Computation, FullComputation: Computation, Self::Output: Eq,

Source§

fn dispatch_input_to_cell<Concrete>( input: &Concrete, storage: &Self::Storage, ) -> Option<Cell>
where Concrete: 'static + Computation + Any,

Source§

fn dispatch_insert_new_cell<Concrete>( cell: Cell, input: Concrete, storage: &mut Self::Storage, )
where Concrete: 'static + Computation + Any, Concrete::Storage: 'static,

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, Z> Computation for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, Z)

Source§

type Storage = (<A as Computation>::Storage, <B as Computation>::Storage, <C as Computation>::Storage, <D as Computation>::Storage, <E as Computation>::Storage, <F as Computation>::Storage, <G as Computation>::Storage, <H as Computation>::Storage, <I as Computation>::Storage, <J as Computation>::Storage, <K as Computation>::Storage, <L as Computation>::Storage, <M as Computation>::Storage, <N as Computation>::Storage, <O as Computation>::Storage, <P as Computation>::Storage, <Q as Computation>::Storage, <R as Computation>::Storage, <S as Computation>::Storage, <T as Computation>::Storage, <U as Computation>::Storage, <V as Computation>::Storage, <W as Computation>::Storage, <Z as Computation>::Storage)

Source§

type Output = ()

Source§

fn run(&self, _: &mut DbHandle<'_, impl Computation>) -> Self::Output

Source§

fn input_to_cell(_: &Self, _: &Self::Storage) -> Option<Cell>

Source§

fn insert_new_cell(_: Cell, _: Self, _: &mut Self::Storage)

Source§

fn get_function_and_output( _: Cell, _: &Self::Storage, ) -> (&Self, Option<&Self::Output>)

Source§

fn set_output(_: Cell, _: Self::Output, _: &mut Self::Storage)

Source§

fn computation_id_of<Concrete: Computation>() -> u32

Source§

fn get_storage<Concrete: Computation + 'static>( computation_id: u32, storage: &Self::Storage, ) -> &Concrete::Storage

Source§

fn get_storage_mut<Concrete: Computation + 'static>( computation_id: u32, storage: &mut Self::Storage, ) -> &mut Concrete::Storage

Source§

fn output_is_unset<FullComputation: Computation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &Db<FullComputation>, ) -> bool

Source§

fn dispatch_run<FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &mut Db<FullComputation>, ) -> bool
where FullComputation: Computation, Self: Clone, Self::Output: Eq,

Source§

fn dispatch_update_output<Concrete, FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, output: Concrete::Output, db: &mut Db<FullComputation>, ) -> bool
where Concrete: Computation, FullComputation: Computation, Self::Output: Eq,

Source§

fn dispatch_input_to_cell<Concrete>( input: &Concrete, storage: &Self::Storage, ) -> Option<Cell>
where Concrete: 'static + Computation + Any,

Source§

fn dispatch_insert_new_cell<Concrete>( cell: Cell, input: Concrete, storage: &mut Self::Storage, )
where Concrete: 'static + Computation + Any, Concrete::Storage: 'static,

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, Z> Computation for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, Z)

Source§

type Storage = (<A as Computation>::Storage, <B as Computation>::Storage, <C as Computation>::Storage, <D as Computation>::Storage, <E as Computation>::Storage, <F as Computation>::Storage, <G as Computation>::Storage, <H as Computation>::Storage, <I as Computation>::Storage, <J as Computation>::Storage, <K as Computation>::Storage, <L as Computation>::Storage, <M as Computation>::Storage, <N as Computation>::Storage, <O as Computation>::Storage, <P as Computation>::Storage, <Q as Computation>::Storage, <R as Computation>::Storage, <S as Computation>::Storage, <T as Computation>::Storage, <U as Computation>::Storage, <V as Computation>::Storage, <Z as Computation>::Storage)

Source§

type Output = ()

Source§

fn run(&self, _: &mut DbHandle<'_, impl Computation>) -> Self::Output

Source§

fn input_to_cell(_: &Self, _: &Self::Storage) -> Option<Cell>

Source§

fn insert_new_cell(_: Cell, _: Self, _: &mut Self::Storage)

Source§

fn get_function_and_output( _: Cell, _: &Self::Storage, ) -> (&Self, Option<&Self::Output>)

Source§

fn set_output(_: Cell, _: Self::Output, _: &mut Self::Storage)

Source§

fn computation_id_of<Concrete: Computation>() -> u32

Source§

fn get_storage<Concrete: Computation + 'static>( computation_id: u32, storage: &Self::Storage, ) -> &Concrete::Storage

Source§

fn get_storage_mut<Concrete: Computation + 'static>( computation_id: u32, storage: &mut Self::Storage, ) -> &mut Concrete::Storage

Source§

fn output_is_unset<FullComputation: Computation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &Db<FullComputation>, ) -> bool

Source§

fn dispatch_run<FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &mut Db<FullComputation>, ) -> bool
where FullComputation: Computation, Self: Clone, Self::Output: Eq,

Source§

fn dispatch_update_output<Concrete, FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, output: Concrete::Output, db: &mut Db<FullComputation>, ) -> bool
where Concrete: Computation, FullComputation: Computation, Self::Output: Eq,

Source§

fn dispatch_input_to_cell<Concrete>( input: &Concrete, storage: &Self::Storage, ) -> Option<Cell>
where Concrete: 'static + Computation + Any,

Source§

fn dispatch_insert_new_cell<Concrete>( cell: Cell, input: Concrete, storage: &mut Self::Storage, )
where Concrete: 'static + Computation + Any, Concrete::Storage: 'static,

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, Z> Computation for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, Z)

Source§

type Storage = (<A as Computation>::Storage, <B as Computation>::Storage, <C as Computation>::Storage, <D as Computation>::Storage, <E as Computation>::Storage, <F as Computation>::Storage, <G as Computation>::Storage, <H as Computation>::Storage, <I as Computation>::Storage, <J as Computation>::Storage, <K as Computation>::Storage, <L as Computation>::Storage, <M as Computation>::Storage, <N as Computation>::Storage, <O as Computation>::Storage, <P as Computation>::Storage, <Q as Computation>::Storage, <R as Computation>::Storage, <S as Computation>::Storage, <T as Computation>::Storage, <U as Computation>::Storage, <Z as Computation>::Storage)

Source§

type Output = ()

Source§

fn run(&self, _: &mut DbHandle<'_, impl Computation>) -> Self::Output

Source§

fn input_to_cell(_: &Self, _: &Self::Storage) -> Option<Cell>

Source§

fn insert_new_cell(_: Cell, _: Self, _: &mut Self::Storage)

Source§

fn get_function_and_output( _: Cell, _: &Self::Storage, ) -> (&Self, Option<&Self::Output>)

Source§

fn set_output(_: Cell, _: Self::Output, _: &mut Self::Storage)

Source§

fn computation_id_of<Concrete: Computation>() -> u32

Source§

fn get_storage<Concrete: Computation + 'static>( computation_id: u32, storage: &Self::Storage, ) -> &Concrete::Storage

Source§

fn get_storage_mut<Concrete: Computation + 'static>( computation_id: u32, storage: &mut Self::Storage, ) -> &mut Concrete::Storage

Source§

fn output_is_unset<FullComputation: Computation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &Db<FullComputation>, ) -> bool

Source§

fn dispatch_run<FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &mut Db<FullComputation>, ) -> bool
where FullComputation: Computation, Self: Clone, Self::Output: Eq,

Source§

fn dispatch_update_output<Concrete, FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, output: Concrete::Output, db: &mut Db<FullComputation>, ) -> bool
where Concrete: Computation, FullComputation: Computation, Self::Output: Eq,

Source§

fn dispatch_input_to_cell<Concrete>( input: &Concrete, storage: &Self::Storage, ) -> Option<Cell>
where Concrete: 'static + Computation + Any,

Source§

fn dispatch_insert_new_cell<Concrete>( cell: Cell, input: Concrete, storage: &mut Self::Storage, )
where Concrete: 'static + Computation + Any, Concrete::Storage: 'static,

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, Z> Computation for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, Z)

Source§

type Storage = (<A as Computation>::Storage, <B as Computation>::Storage, <C as Computation>::Storage, <D as Computation>::Storage, <E as Computation>::Storage, <F as Computation>::Storage, <G as Computation>::Storage, <H as Computation>::Storage, <I as Computation>::Storage, <J as Computation>::Storage, <K as Computation>::Storage, <L as Computation>::Storage, <M as Computation>::Storage, <N as Computation>::Storage, <O as Computation>::Storage, <P as Computation>::Storage, <Q as Computation>::Storage, <R as Computation>::Storage, <S as Computation>::Storage, <T as Computation>::Storage, <Z as Computation>::Storage)

Source§

type Output = ()

Source§

fn run(&self, _: &mut DbHandle<'_, impl Computation>) -> Self::Output

Source§

fn input_to_cell(_: &Self, _: &Self::Storage) -> Option<Cell>

Source§

fn insert_new_cell(_: Cell, _: Self, _: &mut Self::Storage)

Source§

fn get_function_and_output( _: Cell, _: &Self::Storage, ) -> (&Self, Option<&Self::Output>)

Source§

fn set_output(_: Cell, _: Self::Output, _: &mut Self::Storage)

Source§

fn computation_id_of<Concrete: Computation>() -> u32

Source§

fn get_storage<Concrete: Computation + 'static>( computation_id: u32, storage: &Self::Storage, ) -> &Concrete::Storage

Source§

fn get_storage_mut<Concrete: Computation + 'static>( computation_id: u32, storage: &mut Self::Storage, ) -> &mut Concrete::Storage

Source§

fn output_is_unset<FullComputation: Computation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &Db<FullComputation>, ) -> bool

Source§

fn dispatch_run<FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &mut Db<FullComputation>, ) -> bool
where FullComputation: Computation, Self: Clone, Self::Output: Eq,

Source§

fn dispatch_update_output<Concrete, FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, output: Concrete::Output, db: &mut Db<FullComputation>, ) -> bool
where Concrete: Computation, FullComputation: Computation, Self::Output: Eq,

Source§

fn dispatch_input_to_cell<Concrete>( input: &Concrete, storage: &Self::Storage, ) -> Option<Cell>
where Concrete: 'static + Computation + Any,

Source§

fn dispatch_insert_new_cell<Concrete>( cell: Cell, input: Concrete, storage: &mut Self::Storage, )
where Concrete: 'static + Computation + Any, Concrete::Storage: 'static,

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, Z> Computation for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, Z)

Source§

type Storage = (<A as Computation>::Storage, <B as Computation>::Storage, <C as Computation>::Storage, <D as Computation>::Storage, <E as Computation>::Storage, <F as Computation>::Storage, <G as Computation>::Storage, <H as Computation>::Storage, <I as Computation>::Storage, <J as Computation>::Storage, <K as Computation>::Storage, <L as Computation>::Storage, <M as Computation>::Storage, <N as Computation>::Storage, <O as Computation>::Storage, <P as Computation>::Storage, <Q as Computation>::Storage, <R as Computation>::Storage, <S as Computation>::Storage, <Z as Computation>::Storage)

Source§

type Output = ()

Source§

fn run(&self, _: &mut DbHandle<'_, impl Computation>) -> Self::Output

Source§

fn input_to_cell(_: &Self, _: &Self::Storage) -> Option<Cell>

Source§

fn insert_new_cell(_: Cell, _: Self, _: &mut Self::Storage)

Source§

fn get_function_and_output( _: Cell, _: &Self::Storage, ) -> (&Self, Option<&Self::Output>)

Source§

fn set_output(_: Cell, _: Self::Output, _: &mut Self::Storage)

Source§

fn computation_id_of<Concrete: Computation>() -> u32

Source§

fn get_storage<Concrete: Computation + 'static>( computation_id: u32, storage: &Self::Storage, ) -> &Concrete::Storage

Source§

fn get_storage_mut<Concrete: Computation + 'static>( computation_id: u32, storage: &mut Self::Storage, ) -> &mut Concrete::Storage

Source§

fn output_is_unset<FullComputation: Computation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &Db<FullComputation>, ) -> bool

Source§

fn dispatch_run<FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &mut Db<FullComputation>, ) -> bool
where FullComputation: Computation, Self: Clone, Self::Output: Eq,

Source§

fn dispatch_update_output<Concrete, FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, output: Concrete::Output, db: &mut Db<FullComputation>, ) -> bool
where Concrete: Computation, FullComputation: Computation, Self::Output: Eq,

Source§

fn dispatch_input_to_cell<Concrete>( input: &Concrete, storage: &Self::Storage, ) -> Option<Cell>
where Concrete: 'static + Computation + Any,

Source§

fn dispatch_insert_new_cell<Concrete>( cell: Cell, input: Concrete, storage: &mut Self::Storage, )
where Concrete: 'static + Computation + Any, Concrete::Storage: 'static,

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, Z> Computation for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, Z)

Source§

type Storage = (<A as Computation>::Storage, <B as Computation>::Storage, <C as Computation>::Storage, <D as Computation>::Storage, <E as Computation>::Storage, <F as Computation>::Storage, <G as Computation>::Storage, <H as Computation>::Storage, <I as Computation>::Storage, <J as Computation>::Storage, <K as Computation>::Storage, <L as Computation>::Storage, <M as Computation>::Storage, <N as Computation>::Storage, <O as Computation>::Storage, <P as Computation>::Storage, <Q as Computation>::Storage, <R as Computation>::Storage, <Z as Computation>::Storage)

Source§

type Output = ()

Source§

fn run(&self, _: &mut DbHandle<'_, impl Computation>) -> Self::Output

Source§

fn input_to_cell(_: &Self, _: &Self::Storage) -> Option<Cell>

Source§

fn insert_new_cell(_: Cell, _: Self, _: &mut Self::Storage)

Source§

fn get_function_and_output( _: Cell, _: &Self::Storage, ) -> (&Self, Option<&Self::Output>)

Source§

fn set_output(_: Cell, _: Self::Output, _: &mut Self::Storage)

Source§

fn computation_id_of<Concrete: Computation>() -> u32

Source§

fn get_storage<Concrete: Computation + 'static>( computation_id: u32, storage: &Self::Storage, ) -> &Concrete::Storage

Source§

fn get_storage_mut<Concrete: Computation + 'static>( computation_id: u32, storage: &mut Self::Storage, ) -> &mut Concrete::Storage

Source§

fn output_is_unset<FullComputation: Computation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &Db<FullComputation>, ) -> bool

Source§

fn dispatch_run<FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &mut Db<FullComputation>, ) -> bool
where FullComputation: Computation, Self: Clone, Self::Output: Eq,

Source§

fn dispatch_update_output<Concrete, FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, output: Concrete::Output, db: &mut Db<FullComputation>, ) -> bool
where Concrete: Computation, FullComputation: Computation, Self::Output: Eq,

Source§

fn dispatch_input_to_cell<Concrete>( input: &Concrete, storage: &Self::Storage, ) -> Option<Cell>
where Concrete: 'static + Computation + Any,

Source§

fn dispatch_insert_new_cell<Concrete>( cell: Cell, input: Concrete, storage: &mut Self::Storage, )
where Concrete: 'static + Computation + Any, Concrete::Storage: 'static,

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, Z> Computation for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, Z)

Source§

type Storage = (<A as Computation>::Storage, <B as Computation>::Storage, <C as Computation>::Storage, <D as Computation>::Storage, <E as Computation>::Storage, <F as Computation>::Storage, <G as Computation>::Storage, <H as Computation>::Storage, <I as Computation>::Storage, <J as Computation>::Storage, <K as Computation>::Storage, <L as Computation>::Storage, <M as Computation>::Storage, <N as Computation>::Storage, <O as Computation>::Storage, <P as Computation>::Storage, <Q as Computation>::Storage, <Z as Computation>::Storage)

Source§

type Output = ()

Source§

fn run(&self, _: &mut DbHandle<'_, impl Computation>) -> Self::Output

Source§

fn input_to_cell(_: &Self, _: &Self::Storage) -> Option<Cell>

Source§

fn insert_new_cell(_: Cell, _: Self, _: &mut Self::Storage)

Source§

fn get_function_and_output( _: Cell, _: &Self::Storage, ) -> (&Self, Option<&Self::Output>)

Source§

fn set_output(_: Cell, _: Self::Output, _: &mut Self::Storage)

Source§

fn computation_id_of<Concrete: Computation>() -> u32

Source§

fn get_storage<Concrete: Computation + 'static>( computation_id: u32, storage: &Self::Storage, ) -> &Concrete::Storage

Source§

fn get_storage_mut<Concrete: Computation + 'static>( computation_id: u32, storage: &mut Self::Storage, ) -> &mut Concrete::Storage

Source§

fn output_is_unset<FullComputation: Computation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &Db<FullComputation>, ) -> bool

Source§

fn dispatch_run<FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &mut Db<FullComputation>, ) -> bool
where FullComputation: Computation, Self: Clone, Self::Output: Eq,

Source§

fn dispatch_update_output<Concrete, FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, output: Concrete::Output, db: &mut Db<FullComputation>, ) -> bool
where Concrete: Computation, FullComputation: Computation, Self::Output: Eq,

Source§

fn dispatch_input_to_cell<Concrete>( input: &Concrete, storage: &Self::Storage, ) -> Option<Cell>
where Concrete: 'static + Computation + Any,

Source§

fn dispatch_insert_new_cell<Concrete>( cell: Cell, input: Concrete, storage: &mut Self::Storage, )
where Concrete: 'static + Computation + Any, Concrete::Storage: 'static,

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Z> Computation for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Z)

Source§

type Storage = (<A as Computation>::Storage, <B as Computation>::Storage, <C as Computation>::Storage, <D as Computation>::Storage, <E as Computation>::Storage, <F as Computation>::Storage, <G as Computation>::Storage, <H as Computation>::Storage, <I as Computation>::Storage, <J as Computation>::Storage, <K as Computation>::Storage, <L as Computation>::Storage, <M as Computation>::Storage, <N as Computation>::Storage, <O as Computation>::Storage, <P as Computation>::Storage, <Z as Computation>::Storage)

Source§

type Output = ()

Source§

fn run(&self, _: &mut DbHandle<'_, impl Computation>) -> Self::Output

Source§

fn input_to_cell(_: &Self, _: &Self::Storage) -> Option<Cell>

Source§

fn insert_new_cell(_: Cell, _: Self, _: &mut Self::Storage)

Source§

fn get_function_and_output( _: Cell, _: &Self::Storage, ) -> (&Self, Option<&Self::Output>)

Source§

fn set_output(_: Cell, _: Self::Output, _: &mut Self::Storage)

Source§

fn computation_id_of<Concrete: Computation>() -> u32

Source§

fn get_storage<Concrete: Computation + 'static>( computation_id: u32, storage: &Self::Storage, ) -> &Concrete::Storage

Source§

fn get_storage_mut<Concrete: Computation + 'static>( computation_id: u32, storage: &mut Self::Storage, ) -> &mut Concrete::Storage

Source§

fn output_is_unset<FullComputation: Computation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &Db<FullComputation>, ) -> bool

Source§

fn dispatch_run<FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &mut Db<FullComputation>, ) -> bool
where FullComputation: Computation, Self: Clone, Self::Output: Eq,

Source§

fn dispatch_update_output<Concrete, FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, output: Concrete::Output, db: &mut Db<FullComputation>, ) -> bool
where Concrete: Computation, FullComputation: Computation, Self::Output: Eq,

Source§

fn dispatch_input_to_cell<Concrete>( input: &Concrete, storage: &Self::Storage, ) -> Option<Cell>
where Concrete: 'static + Computation + Any,

Source§

fn dispatch_insert_new_cell<Concrete>( cell: Cell, input: Concrete, storage: &mut Self::Storage, )
where Concrete: 'static + Computation + Any, Concrete::Storage: 'static,

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, Z> Computation for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, Z)

Source§

type Storage = (<A as Computation>::Storage, <B as Computation>::Storage, <C as Computation>::Storage, <D as Computation>::Storage, <E as Computation>::Storage, <F as Computation>::Storage, <G as Computation>::Storage, <H as Computation>::Storage, <I as Computation>::Storage, <J as Computation>::Storage, <K as Computation>::Storage, <L as Computation>::Storage, <M as Computation>::Storage, <N as Computation>::Storage, <O as Computation>::Storage, <Z as Computation>::Storage)

Source§

type Output = ()

Source§

fn run(&self, _: &mut DbHandle<'_, impl Computation>) -> Self::Output

Source§

fn input_to_cell(_: &Self, _: &Self::Storage) -> Option<Cell>

Source§

fn insert_new_cell(_: Cell, _: Self, _: &mut Self::Storage)

Source§

fn get_function_and_output( _: Cell, _: &Self::Storage, ) -> (&Self, Option<&Self::Output>)

Source§

fn set_output(_: Cell, _: Self::Output, _: &mut Self::Storage)

Source§

fn computation_id_of<Concrete: Computation>() -> u32

Source§

fn get_storage<Concrete: Computation + 'static>( computation_id: u32, storage: &Self::Storage, ) -> &Concrete::Storage

Source§

fn get_storage_mut<Concrete: Computation + 'static>( computation_id: u32, storage: &mut Self::Storage, ) -> &mut Concrete::Storage

Source§

fn output_is_unset<FullComputation: Computation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &Db<FullComputation>, ) -> bool

Source§

fn dispatch_run<FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &mut Db<FullComputation>, ) -> bool
where FullComputation: Computation, Self: Clone, Self::Output: Eq,

Source§

fn dispatch_update_output<Concrete, FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, output: Concrete::Output, db: &mut Db<FullComputation>, ) -> bool
where Concrete: Computation, FullComputation: Computation, Self::Output: Eq,

Source§

fn dispatch_input_to_cell<Concrete>( input: &Concrete, storage: &Self::Storage, ) -> Option<Cell>
where Concrete: 'static + Computation + Any,

Source§

fn dispatch_insert_new_cell<Concrete>( cell: Cell, input: Concrete, storage: &mut Self::Storage, )
where Concrete: 'static + Computation + Any, Concrete::Storage: 'static,

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, Z> Computation for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, Z)

Source§

type Storage = (<A as Computation>::Storage, <B as Computation>::Storage, <C as Computation>::Storage, <D as Computation>::Storage, <E as Computation>::Storage, <F as Computation>::Storage, <G as Computation>::Storage, <H as Computation>::Storage, <I as Computation>::Storage, <J as Computation>::Storage, <K as Computation>::Storage, <L as Computation>::Storage, <M as Computation>::Storage, <N as Computation>::Storage, <Z as Computation>::Storage)

Source§

type Output = ()

Source§

fn run(&self, _: &mut DbHandle<'_, impl Computation>) -> Self::Output

Source§

fn input_to_cell(_: &Self, _: &Self::Storage) -> Option<Cell>

Source§

fn insert_new_cell(_: Cell, _: Self, _: &mut Self::Storage)

Source§

fn get_function_and_output( _: Cell, _: &Self::Storage, ) -> (&Self, Option<&Self::Output>)

Source§

fn set_output(_: Cell, _: Self::Output, _: &mut Self::Storage)

Source§

fn computation_id_of<Concrete: Computation>() -> u32

Source§

fn get_storage<Concrete: Computation + 'static>( computation_id: u32, storage: &Self::Storage, ) -> &Concrete::Storage

Source§

fn get_storage_mut<Concrete: Computation + 'static>( computation_id: u32, storage: &mut Self::Storage, ) -> &mut Concrete::Storage

Source§

fn output_is_unset<FullComputation: Computation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &Db<FullComputation>, ) -> bool

Source§

fn dispatch_run<FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &mut Db<FullComputation>, ) -> bool
where FullComputation: Computation, Self: Clone, Self::Output: Eq,

Source§

fn dispatch_update_output<Concrete, FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, output: Concrete::Output, db: &mut Db<FullComputation>, ) -> bool
where Concrete: Computation, FullComputation: Computation, Self::Output: Eq,

Source§

fn dispatch_input_to_cell<Concrete>( input: &Concrete, storage: &Self::Storage, ) -> Option<Cell>
where Concrete: 'static + Computation + Any,

Source§

fn dispatch_insert_new_cell<Concrete>( cell: Cell, input: Concrete, storage: &mut Self::Storage, )
where Concrete: 'static + Computation + Any, Concrete::Storage: 'static,

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, Z> Computation for (A, B, C, D, E, F, G, H, I, J, K, L, M, Z)

Source§

type Storage = (<A as Computation>::Storage, <B as Computation>::Storage, <C as Computation>::Storage, <D as Computation>::Storage, <E as Computation>::Storage, <F as Computation>::Storage, <G as Computation>::Storage, <H as Computation>::Storage, <I as Computation>::Storage, <J as Computation>::Storage, <K as Computation>::Storage, <L as Computation>::Storage, <M as Computation>::Storage, <Z as Computation>::Storage)

Source§

type Output = ()

Source§

fn run(&self, _: &mut DbHandle<'_, impl Computation>) -> Self::Output

Source§

fn input_to_cell(_: &Self, _: &Self::Storage) -> Option<Cell>

Source§

fn insert_new_cell(_: Cell, _: Self, _: &mut Self::Storage)

Source§

fn get_function_and_output( _: Cell, _: &Self::Storage, ) -> (&Self, Option<&Self::Output>)

Source§

fn set_output(_: Cell, _: Self::Output, _: &mut Self::Storage)

Source§

fn computation_id_of<Concrete: Computation>() -> u32

Source§

fn get_storage<Concrete: Computation + 'static>( computation_id: u32, storage: &Self::Storage, ) -> &Concrete::Storage

Source§

fn get_storage_mut<Concrete: Computation + 'static>( computation_id: u32, storage: &mut Self::Storage, ) -> &mut Concrete::Storage

Source§

fn output_is_unset<FullComputation: Computation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &Db<FullComputation>, ) -> bool

Source§

fn dispatch_run<FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &mut Db<FullComputation>, ) -> bool
where FullComputation: Computation, Self: Clone, Self::Output: Eq,

Source§

fn dispatch_update_output<Concrete, FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, output: Concrete::Output, db: &mut Db<FullComputation>, ) -> bool
where Concrete: Computation, FullComputation: Computation, Self::Output: Eq,

Source§

fn dispatch_input_to_cell<Concrete>( input: &Concrete, storage: &Self::Storage, ) -> Option<Cell>
where Concrete: 'static + Computation + Any,

Source§

fn dispatch_insert_new_cell<Concrete>( cell: Cell, input: Concrete, storage: &mut Self::Storage, )
where Concrete: 'static + Computation + Any, Concrete::Storage: 'static,

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, Z> Computation for (A, B, C, D, E, F, G, H, I, J, K, L, Z)

Source§

type Storage = (<A as Computation>::Storage, <B as Computation>::Storage, <C as Computation>::Storage, <D as Computation>::Storage, <E as Computation>::Storage, <F as Computation>::Storage, <G as Computation>::Storage, <H as Computation>::Storage, <I as Computation>::Storage, <J as Computation>::Storage, <K as Computation>::Storage, <L as Computation>::Storage, <Z as Computation>::Storage)

Source§

type Output = ()

Source§

fn run(&self, _: &mut DbHandle<'_, impl Computation>) -> Self::Output

Source§

fn input_to_cell(_: &Self, _: &Self::Storage) -> Option<Cell>

Source§

fn insert_new_cell(_: Cell, _: Self, _: &mut Self::Storage)

Source§

fn get_function_and_output( _: Cell, _: &Self::Storage, ) -> (&Self, Option<&Self::Output>)

Source§

fn set_output(_: Cell, _: Self::Output, _: &mut Self::Storage)

Source§

fn computation_id_of<Concrete: Computation>() -> u32

Source§

fn get_storage<Concrete: Computation + 'static>( computation_id: u32, storage: &Self::Storage, ) -> &Concrete::Storage

Source§

fn get_storage_mut<Concrete: Computation + 'static>( computation_id: u32, storage: &mut Self::Storage, ) -> &mut Concrete::Storage

Source§

fn output_is_unset<FullComputation: Computation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &Db<FullComputation>, ) -> bool

Source§

fn dispatch_run<FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &mut Db<FullComputation>, ) -> bool
where FullComputation: Computation, Self: Clone, Self::Output: Eq,

Source§

fn dispatch_update_output<Concrete, FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, output: Concrete::Output, db: &mut Db<FullComputation>, ) -> bool
where Concrete: Computation, FullComputation: Computation, Self::Output: Eq,

Source§

fn dispatch_input_to_cell<Concrete>( input: &Concrete, storage: &Self::Storage, ) -> Option<Cell>
where Concrete: 'static + Computation + Any,

Source§

fn dispatch_insert_new_cell<Concrete>( cell: Cell, input: Concrete, storage: &mut Self::Storage, )
where Concrete: 'static + Computation + Any, Concrete::Storage: 'static,

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, Z> Computation for (A, B, C, D, E, F, G, H, I, J, K, Z)

Source§

type Storage = (<A as Computation>::Storage, <B as Computation>::Storage, <C as Computation>::Storage, <D as Computation>::Storage, <E as Computation>::Storage, <F as Computation>::Storage, <G as Computation>::Storage, <H as Computation>::Storage, <I as Computation>::Storage, <J as Computation>::Storage, <K as Computation>::Storage, <Z as Computation>::Storage)

Source§

type Output = ()

Source§

fn run(&self, _: &mut DbHandle<'_, impl Computation>) -> Self::Output

Source§

fn input_to_cell(_: &Self, _: &Self::Storage) -> Option<Cell>

Source§

fn insert_new_cell(_: Cell, _: Self, _: &mut Self::Storage)

Source§

fn get_function_and_output( _: Cell, _: &Self::Storage, ) -> (&Self, Option<&Self::Output>)

Source§

fn set_output(_: Cell, _: Self::Output, _: &mut Self::Storage)

Source§

fn computation_id_of<Concrete: Computation>() -> u32

Source§

fn get_storage<Concrete: Computation + 'static>( computation_id: u32, storage: &Self::Storage, ) -> &Concrete::Storage

Source§

fn get_storage_mut<Concrete: Computation + 'static>( computation_id: u32, storage: &mut Self::Storage, ) -> &mut Concrete::Storage

Source§

fn output_is_unset<FullComputation: Computation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &Db<FullComputation>, ) -> bool

Source§

fn dispatch_run<FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &mut Db<FullComputation>, ) -> bool
where FullComputation: Computation, Self: Clone, Self::Output: Eq,

Source§

fn dispatch_update_output<Concrete, FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, output: Concrete::Output, db: &mut Db<FullComputation>, ) -> bool
where Concrete: Computation, FullComputation: Computation, Self::Output: Eq,

Source§

fn dispatch_input_to_cell<Concrete>( input: &Concrete, storage: &Self::Storage, ) -> Option<Cell>
where Concrete: 'static + Computation + Any,

Source§

fn dispatch_insert_new_cell<Concrete>( cell: Cell, input: Concrete, storage: &mut Self::Storage, )
where Concrete: 'static + Computation + Any, Concrete::Storage: 'static,

Source§

impl<A, B, C, D, E, F, G, H, I, J, Z> Computation for (A, B, C, D, E, F, G, H, I, J, Z)

Source§

type Storage = (<A as Computation>::Storage, <B as Computation>::Storage, <C as Computation>::Storage, <D as Computation>::Storage, <E as Computation>::Storage, <F as Computation>::Storage, <G as Computation>::Storage, <H as Computation>::Storage, <I as Computation>::Storage, <J as Computation>::Storage, <Z as Computation>::Storage)

Source§

type Output = ()

Source§

fn run(&self, _: &mut DbHandle<'_, impl Computation>) -> Self::Output

Source§

fn input_to_cell(_: &Self, _: &Self::Storage) -> Option<Cell>

Source§

fn insert_new_cell(_: Cell, _: Self, _: &mut Self::Storage)

Source§

fn get_function_and_output( _: Cell, _: &Self::Storage, ) -> (&Self, Option<&Self::Output>)

Source§

fn set_output(_: Cell, _: Self::Output, _: &mut Self::Storage)

Source§

fn computation_id_of<Concrete: Computation>() -> u32

Source§

fn get_storage<Concrete: Computation + 'static>( computation_id: u32, storage: &Self::Storage, ) -> &Concrete::Storage

Source§

fn get_storage_mut<Concrete: Computation + 'static>( computation_id: u32, storage: &mut Self::Storage, ) -> &mut Concrete::Storage

Source§

fn output_is_unset<FullComputation: Computation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &Db<FullComputation>, ) -> bool

Source§

fn dispatch_run<FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &mut Db<FullComputation>, ) -> bool
where FullComputation: Computation, Self: Clone, Self::Output: Eq,

Source§

fn dispatch_update_output<Concrete, FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, output: Concrete::Output, db: &mut Db<FullComputation>, ) -> bool
where Concrete: Computation, FullComputation: Computation, Self::Output: Eq,

Source§

fn dispatch_input_to_cell<Concrete>( input: &Concrete, storage: &Self::Storage, ) -> Option<Cell>
where Concrete: 'static + Computation + Any,

Source§

fn dispatch_insert_new_cell<Concrete>( cell: Cell, input: Concrete, storage: &mut Self::Storage, )
where Concrete: 'static + Computation + Any, Concrete::Storage: 'static,

Source§

impl<A, B, C, D, E, F, G, H, I, Z> Computation for (A, B, C, D, E, F, G, H, I, Z)

Source§

type Storage = (<A as Computation>::Storage, <B as Computation>::Storage, <C as Computation>::Storage, <D as Computation>::Storage, <E as Computation>::Storage, <F as Computation>::Storage, <G as Computation>::Storage, <H as Computation>::Storage, <I as Computation>::Storage, <Z as Computation>::Storage)

Source§

type Output = ()

Source§

fn run(&self, _: &mut DbHandle<'_, impl Computation>) -> Self::Output

Source§

fn input_to_cell(_: &Self, _: &Self::Storage) -> Option<Cell>

Source§

fn insert_new_cell(_: Cell, _: Self, _: &mut Self::Storage)

Source§

fn get_function_and_output( _: Cell, _: &Self::Storage, ) -> (&Self, Option<&Self::Output>)

Source§

fn set_output(_: Cell, _: Self::Output, _: &mut Self::Storage)

Source§

fn computation_id_of<Concrete: Computation>() -> u32

Source§

fn get_storage<Concrete: Computation + 'static>( computation_id: u32, storage: &Self::Storage, ) -> &Concrete::Storage

Source§

fn get_storage_mut<Concrete: Computation + 'static>( computation_id: u32, storage: &mut Self::Storage, ) -> &mut Concrete::Storage

Source§

fn output_is_unset<FullComputation: Computation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &Db<FullComputation>, ) -> bool

Source§

fn dispatch_run<FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &mut Db<FullComputation>, ) -> bool
where FullComputation: Computation, Self: Clone, Self::Output: Eq,

Source§

fn dispatch_update_output<Concrete, FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, output: Concrete::Output, db: &mut Db<FullComputation>, ) -> bool
where Concrete: Computation, FullComputation: Computation, Self::Output: Eq,

Source§

fn dispatch_input_to_cell<Concrete>( input: &Concrete, storage: &Self::Storage, ) -> Option<Cell>
where Concrete: 'static + Computation + Any,

Source§

fn dispatch_insert_new_cell<Concrete>( cell: Cell, input: Concrete, storage: &mut Self::Storage, )
where Concrete: 'static + Computation + Any, Concrete::Storage: 'static,

Source§

impl<A, B, C, D, E, F, G, H, Z> Computation for (A, B, C, D, E, F, G, H, Z)

Source§

type Storage = (<A as Computation>::Storage, <B as Computation>::Storage, <C as Computation>::Storage, <D as Computation>::Storage, <E as Computation>::Storage, <F as Computation>::Storage, <G as Computation>::Storage, <H as Computation>::Storage, <Z as Computation>::Storage)

Source§

type Output = ()

Source§

fn run(&self, _: &mut DbHandle<'_, impl Computation>) -> Self::Output

Source§

fn input_to_cell(_: &Self, _: &Self::Storage) -> Option<Cell>

Source§

fn insert_new_cell(_: Cell, _: Self, _: &mut Self::Storage)

Source§

fn get_function_and_output( _: Cell, _: &Self::Storage, ) -> (&Self, Option<&Self::Output>)

Source§

fn set_output(_: Cell, _: Self::Output, _: &mut Self::Storage)

Source§

fn computation_id_of<Concrete: Computation>() -> u32

Source§

fn get_storage<Concrete: Computation + 'static>( computation_id: u32, storage: &Self::Storage, ) -> &Concrete::Storage

Source§

fn get_storage_mut<Concrete: Computation + 'static>( computation_id: u32, storage: &mut Self::Storage, ) -> &mut Concrete::Storage

Source§

fn output_is_unset<FullComputation: Computation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &Db<FullComputation>, ) -> bool

Source§

fn dispatch_run<FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &mut Db<FullComputation>, ) -> bool
where FullComputation: Computation, Self: Clone, Self::Output: Eq,

Source§

fn dispatch_update_output<Concrete, FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, output: Concrete::Output, db: &mut Db<FullComputation>, ) -> bool
where Concrete: Computation, FullComputation: Computation, Self::Output: Eq,

Source§

fn dispatch_input_to_cell<Concrete>( input: &Concrete, storage: &Self::Storage, ) -> Option<Cell>
where Concrete: 'static + Computation + Any,

Source§

fn dispatch_insert_new_cell<Concrete>( cell: Cell, input: Concrete, storage: &mut Self::Storage, )
where Concrete: 'static + Computation + Any, Concrete::Storage: 'static,

Source§

impl<A, B, C, D, E, F, G, Z> Computation for (A, B, C, D, E, F, G, Z)

Source§

type Storage = (<A as Computation>::Storage, <B as Computation>::Storage, <C as Computation>::Storage, <D as Computation>::Storage, <E as Computation>::Storage, <F as Computation>::Storage, <G as Computation>::Storage, <Z as Computation>::Storage)

Source§

type Output = ()

Source§

fn run(&self, _: &mut DbHandle<'_, impl Computation>) -> Self::Output

Source§

fn input_to_cell(_: &Self, _: &Self::Storage) -> Option<Cell>

Source§

fn insert_new_cell(_: Cell, _: Self, _: &mut Self::Storage)

Source§

fn get_function_and_output( _: Cell, _: &Self::Storage, ) -> (&Self, Option<&Self::Output>)

Source§

fn set_output(_: Cell, _: Self::Output, _: &mut Self::Storage)

Source§

fn computation_id_of<Concrete: Computation>() -> u32

Source§

fn get_storage<Concrete: Computation + 'static>( computation_id: u32, storage: &Self::Storage, ) -> &Concrete::Storage

Source§

fn get_storage_mut<Concrete: Computation + 'static>( computation_id: u32, storage: &mut Self::Storage, ) -> &mut Concrete::Storage

Source§

fn output_is_unset<FullComputation: Computation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &Db<FullComputation>, ) -> bool

Source§

fn dispatch_run<FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &mut Db<FullComputation>, ) -> bool
where FullComputation: Computation, Self: Clone, Self::Output: Eq,

Source§

fn dispatch_update_output<Concrete, FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, output: Concrete::Output, db: &mut Db<FullComputation>, ) -> bool
where Concrete: Computation, FullComputation: Computation, Self::Output: Eq,

Source§

fn dispatch_input_to_cell<Concrete>( input: &Concrete, storage: &Self::Storage, ) -> Option<Cell>
where Concrete: 'static + Computation + Any,

Source§

fn dispatch_insert_new_cell<Concrete>( cell: Cell, input: Concrete, storage: &mut Self::Storage, )
where Concrete: 'static + Computation + Any, Concrete::Storage: 'static,

Source§

impl<A, B, C, D, E, F, Z> Computation for (A, B, C, D, E, F, Z)

Source§

type Storage = (<A as Computation>::Storage, <B as Computation>::Storage, <C as Computation>::Storage, <D as Computation>::Storage, <E as Computation>::Storage, <F as Computation>::Storage, <Z as Computation>::Storage)

Source§

type Output = ()

Source§

fn run(&self, _: &mut DbHandle<'_, impl Computation>) -> Self::Output

Source§

fn input_to_cell(_: &Self, _: &Self::Storage) -> Option<Cell>

Source§

fn insert_new_cell(_: Cell, _: Self, _: &mut Self::Storage)

Source§

fn get_function_and_output( _: Cell, _: &Self::Storage, ) -> (&Self, Option<&Self::Output>)

Source§

fn set_output(_: Cell, _: Self::Output, _: &mut Self::Storage)

Source§

fn computation_id_of<Concrete: Computation>() -> u32

Source§

fn get_storage<Concrete: Computation + 'static>( computation_id: u32, storage: &Self::Storage, ) -> &Concrete::Storage

Source§

fn get_storage_mut<Concrete: Computation + 'static>( computation_id: u32, storage: &mut Self::Storage, ) -> &mut Concrete::Storage

Source§

fn output_is_unset<FullComputation: Computation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &Db<FullComputation>, ) -> bool

Source§

fn dispatch_run<FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &mut Db<FullComputation>, ) -> bool
where FullComputation: Computation, Self: Clone, Self::Output: Eq,

Source§

fn dispatch_update_output<Concrete, FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, output: Concrete::Output, db: &mut Db<FullComputation>, ) -> bool
where Concrete: Computation, FullComputation: Computation, Self::Output: Eq,

Source§

fn dispatch_input_to_cell<Concrete>( input: &Concrete, storage: &Self::Storage, ) -> Option<Cell>
where Concrete: 'static + Computation + Any,

Source§

fn dispatch_insert_new_cell<Concrete>( cell: Cell, input: Concrete, storage: &mut Self::Storage, )
where Concrete: 'static + Computation + Any, Concrete::Storage: 'static,

Source§

impl<A, B, C, D, E, Z> Computation for (A, B, C, D, E, Z)

Source§

type Storage = (<A as Computation>::Storage, <B as Computation>::Storage, <C as Computation>::Storage, <D as Computation>::Storage, <E as Computation>::Storage, <Z as Computation>::Storage)

Source§

type Output = ()

Source§

fn run(&self, _: &mut DbHandle<'_, impl Computation>) -> Self::Output

Source§

fn input_to_cell(_: &Self, _: &Self::Storage) -> Option<Cell>

Source§

fn insert_new_cell(_: Cell, _: Self, _: &mut Self::Storage)

Source§

fn get_function_and_output( _: Cell, _: &Self::Storage, ) -> (&Self, Option<&Self::Output>)

Source§

fn set_output(_: Cell, _: Self::Output, _: &mut Self::Storage)

Source§

fn computation_id_of<Concrete: Computation>() -> u32

Source§

fn get_storage<Concrete: Computation + 'static>( computation_id: u32, storage: &Self::Storage, ) -> &Concrete::Storage

Source§

fn get_storage_mut<Concrete: Computation + 'static>( computation_id: u32, storage: &mut Self::Storage, ) -> &mut Concrete::Storage

Source§

fn output_is_unset<FullComputation: Computation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &Db<FullComputation>, ) -> bool

Source§

fn dispatch_run<FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &mut Db<FullComputation>, ) -> bool
where FullComputation: Computation, Self: Clone, Self::Output: Eq,

Source§

fn dispatch_update_output<Concrete, FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, output: Concrete::Output, db: &mut Db<FullComputation>, ) -> bool
where Concrete: Computation, FullComputation: Computation, Self::Output: Eq,

Source§

fn dispatch_input_to_cell<Concrete>( input: &Concrete, storage: &Self::Storage, ) -> Option<Cell>
where Concrete: 'static + Computation + Any,

Source§

fn dispatch_insert_new_cell<Concrete>( cell: Cell, input: Concrete, storage: &mut Self::Storage, )
where Concrete: 'static + Computation + Any, Concrete::Storage: 'static,

Source§

impl<A, B, C, D, Z> Computation for (A, B, C, D, Z)

Source§

type Storage = (<A as Computation>::Storage, <B as Computation>::Storage, <C as Computation>::Storage, <D as Computation>::Storage, <Z as Computation>::Storage)

Source§

type Output = ()

Source§

fn run(&self, _: &mut DbHandle<'_, impl Computation>) -> Self::Output

Source§

fn input_to_cell(_: &Self, _: &Self::Storage) -> Option<Cell>

Source§

fn insert_new_cell(_: Cell, _: Self, _: &mut Self::Storage)

Source§

fn get_function_and_output( _: Cell, _: &Self::Storage, ) -> (&Self, Option<&Self::Output>)

Source§

fn set_output(_: Cell, _: Self::Output, _: &mut Self::Storage)

Source§

fn computation_id_of<Concrete: Computation>() -> u32

Source§

fn get_storage<Concrete: Computation + 'static>( computation_id: u32, storage: &Self::Storage, ) -> &Concrete::Storage

Source§

fn get_storage_mut<Concrete: Computation + 'static>( computation_id: u32, storage: &mut Self::Storage, ) -> &mut Concrete::Storage

Source§

fn output_is_unset<FullComputation: Computation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &Db<FullComputation>, ) -> bool

Source§

fn dispatch_run<FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &mut Db<FullComputation>, ) -> bool
where FullComputation: Computation, Self: Clone, Self::Output: Eq,

Source§

fn dispatch_update_output<Concrete, FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, output: Concrete::Output, db: &mut Db<FullComputation>, ) -> bool
where Concrete: Computation, FullComputation: Computation, Self::Output: Eq,

Source§

fn dispatch_input_to_cell<Concrete>( input: &Concrete, storage: &Self::Storage, ) -> Option<Cell>
where Concrete: 'static + Computation + Any,

Source§

fn dispatch_insert_new_cell<Concrete>( cell: Cell, input: Concrete, storage: &mut Self::Storage, )
where Concrete: 'static + Computation + Any, Concrete::Storage: 'static,

Source§

impl<A, B, C, Z> Computation for (A, B, C, Z)

Source§

type Storage = (<A as Computation>::Storage, <B as Computation>::Storage, <C as Computation>::Storage, <Z as Computation>::Storage)

Source§

type Output = ()

Source§

fn run(&self, _: &mut DbHandle<'_, impl Computation>) -> Self::Output

Source§

fn input_to_cell(_: &Self, _: &Self::Storage) -> Option<Cell>

Source§

fn insert_new_cell(_: Cell, _: Self, _: &mut Self::Storage)

Source§

fn get_function_and_output( _: Cell, _: &Self::Storage, ) -> (&Self, Option<&Self::Output>)

Source§

fn set_output(_: Cell, _: Self::Output, _: &mut Self::Storage)

Source§

fn computation_id_of<Concrete: Computation>() -> u32

Source§

fn get_storage<Concrete: Computation + 'static>( computation_id: u32, storage: &Self::Storage, ) -> &Concrete::Storage

Source§

fn get_storage_mut<Concrete: Computation + 'static>( computation_id: u32, storage: &mut Self::Storage, ) -> &mut Concrete::Storage

Source§

fn output_is_unset<FullComputation: Computation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &Db<FullComputation>, ) -> bool

Source§

fn dispatch_run<FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &mut Db<FullComputation>, ) -> bool
where FullComputation: Computation, Self: Clone, Self::Output: Eq,

Source§

fn dispatch_update_output<Concrete, FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, output: Concrete::Output, db: &mut Db<FullComputation>, ) -> bool
where Concrete: Computation, FullComputation: Computation, Self::Output: Eq,

Source§

fn dispatch_input_to_cell<Concrete>( input: &Concrete, storage: &Self::Storage, ) -> Option<Cell>
where Concrete: 'static + Computation + Any,

Source§

fn dispatch_insert_new_cell<Concrete>( cell: Cell, input: Concrete, storage: &mut Self::Storage, )
where Concrete: 'static + Computation + Any, Concrete::Storage: 'static,

Source§

impl<A, B, Z> Computation for (A, B, Z)

Source§

type Storage = (<A as Computation>::Storage, <B as Computation>::Storage, <Z as Computation>::Storage)

Source§

type Output = ()

Source§

fn run(&self, _: &mut DbHandle<'_, impl Computation>) -> Self::Output

Source§

fn input_to_cell(_: &Self, _: &Self::Storage) -> Option<Cell>

Source§

fn insert_new_cell(_: Cell, _: Self, _: &mut Self::Storage)

Source§

fn get_function_and_output( _: Cell, _: &Self::Storage, ) -> (&Self, Option<&Self::Output>)

Source§

fn set_output(_: Cell, _: Self::Output, _: &mut Self::Storage)

Source§

fn computation_id_of<Concrete: Computation>() -> u32

Source§

fn get_storage<Concrete: Computation + 'static>( computation_id: u32, storage: &Self::Storage, ) -> &Concrete::Storage

Source§

fn get_storage_mut<Concrete: Computation + 'static>( computation_id: u32, storage: &mut Self::Storage, ) -> &mut Concrete::Storage

Source§

fn output_is_unset<FullComputation: Computation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &Db<FullComputation>, ) -> bool

Source§

fn dispatch_run<FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &mut Db<FullComputation>, ) -> bool
where FullComputation: Computation, Self: Clone, Self::Output: Eq,

Source§

fn dispatch_update_output<Concrete, FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, output: Concrete::Output, db: &mut Db<FullComputation>, ) -> bool
where Concrete: Computation, FullComputation: Computation, Self::Output: Eq,

Source§

fn dispatch_input_to_cell<Concrete>( input: &Concrete, storage: &Self::Storage, ) -> Option<Cell>
where Concrete: 'static + Computation + Any,

Source§

fn dispatch_insert_new_cell<Concrete>( cell: Cell, input: Concrete, storage: &mut Self::Storage, )
where Concrete: 'static + Computation + Any, Concrete::Storage: 'static,

Source§

impl<A, Z> Computation for (A, Z)
where A: Computation, Z: Computation,

Source§

type Storage = (<A as Computation>::Storage, <Z as Computation>::Storage)

Source§

type Output = ()

Source§

fn run(&self, _: &mut DbHandle<'_, impl Computation>) -> Self::Output

Source§

fn input_to_cell(_: &Self, _: &Self::Storage) -> Option<Cell>

Source§

fn insert_new_cell(_: Cell, _: Self, _: &mut Self::Storage)

Source§

fn get_function_and_output( _: Cell, _: &Self::Storage, ) -> (&Self, Option<&Self::Output>)

Source§

fn set_output(_: Cell, _: Self::Output, _: &mut Self::Storage)

Source§

fn computation_id_of<Concrete: Computation>() -> u32

Source§

fn get_storage<Concrete: Computation + 'static>( computation_id: u32, storage: &Self::Storage, ) -> &Concrete::Storage

Source§

fn get_storage_mut<Concrete: Computation + 'static>( computation_id: u32, storage: &mut Self::Storage, ) -> &mut Concrete::Storage

Source§

fn output_is_unset<FullComputation: Computation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &Db<FullComputation>, ) -> bool

Source§

fn dispatch_run<FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, db: &mut Db<FullComputation>, ) -> bool
where FullComputation: Computation, Self: Clone, Self::Output: Eq,

Source§

fn dispatch_update_output<Concrete, FullComputation>( cell: Cell, computation_id: u32, original_computation_id: u32, output: Concrete::Output, db: &mut Db<FullComputation>, ) -> bool
where Concrete: Computation, FullComputation: Computation, Self::Output: Eq,

Source§

fn dispatch_input_to_cell<Concrete>( input: &Concrete, storage: &Self::Storage, ) -> Option<Cell>
where Concrete: 'static + Computation + Any,

Source§

fn dispatch_insert_new_cell<Concrete>( cell: Cell, input: Concrete, storage: &mut Self::Storage, )
where Concrete: 'static + Computation + Any, Concrete::Storage: 'static,

Implementors§