macro_rules! define_intermediate {
( $type_name:ident $( { $($fields:tt)* } )? ,
$get_function_name:ident, $output_type:ty, $impl_function:expr) => { ... };
( $type_name:ident $( { $($fields:tt)* } )? ,
$get_function_name:ident, cloned $output_type:ty, $impl_function:expr) => { ... };
(@inner $type_name:ident $( { $( $($(@$if_ref:tt)? &)? $field_name:ident : $field_type:ty),* } )? ,
$get_function_name:ident, $output_type:ty, $impl_function:expr; $clone_function:expr ; $($output_ref:tt)* ) => { ... };
}Expand description
Helper macro to define an intermediate computation type. This will
define the type for you along with a new method, Run impl and
a function wrapper for db.get(ComputationType::new()).