Macro define_intermediate

Source
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()).