i_slint_common

Macro for_each_builtin_structs

Source
macro_rules! for_each_builtin_structs {
    ($macro:ident) => { ... };
}
Expand description

Call a macro with every builtin structures exposed in the .slint language

ยงExample

macro_rules! print_builtin_structs {
    ($(
        $(#[$struct_attr:meta])*
        struct $Name:ident {
            @name = $inner_name:literal
            export {
                $( $(#[$pub_attr:meta])* $pub_field:ident : $pub_type:ty, )*
            }
            private {
                $( $(#[$pri_attr:meta])* $pri_field:ident : $pri_type:ty, )*
            }
        }
    )*) => {
        $(println!("{} => export:[{}] private:[{}]", stringify!($Name), stringify!($($pub_field),*), stringify!($($pri_field),*));)*
    };
}
i_slint_common::for_each_builtin_structs!(print_builtin_structs);