wrap_menu_model_delegate

Macro wrap_menu_model_delegate 

Source
macro_rules! wrap_menu_model_delegate {
    ($ vis : vis struct $ name : ident ; impl MenuModelDelegate { $ ($ (# [$ attrs_name : meta]) * fn $ method_name : ident (& $ self : ident $ (, $ arg_name : ident : $ arg_type : ty) * $ (,) ?) $ (-> $ return_type : ty) ? { $ ($ body : tt) * }) * }) => { ... };
    ($ vis : vis struct $ name : ident $ (< $ ($ generic_type : ident : $ first_generic_type_bound : tt $ (+ $ generic_type_bound : tt) *) , + $ (,) ? >) ? { $ ($ field_vis : vis $ field_name : ident : $ field_type : ty) , * $ (,) ? } impl MenuModelDelegate { $ ($ (# [$ attrs_name : meta]) * fn $ method_name : ident (& $ self : ident $ (, $ arg_name : ident : $ arg_type : ty) * $ (,) ?) $ (-> $ return_type : ty) ? { $ ($ body : tt) * }) * }) => { ... };
}
Expand description

Implement the WrapMenuModelDelegate trait for the specified struct. You can declare more members for your struct, and in the impl MenuModelDelegate block you can override default methods implemented by the ImplMenuModelDelegate trait.

ยงExample


wrap_menu_model_delegate! {
    struct MyMenuModelDelegate {
        payload: String,
    }

    impl MenuModelDelegate {
        // ...
    }
}

fn make_my_struct() -> MenuModelDelegate {
    MyMenuModelDelegate::new("payload".to_string())
}