Skip to main content

cvmap

Macro cvmap 

Source
macro_rules! cvmap {
    (
        #[flag_type=$flag_type:ty]
        $(#[$enum_attrs:meta])*
        $vis:vis enum $enum_name:ident {
            $(
                #[term(cv=$cv:ident, accession=$accession:literal, name=$term_name:literal, flags=$flags:tt, parents=$parents:tt)]
                $(#[$variant_attrs:meta])*
                $variant:ident
            ),*
            $(,)?
        }
    ) => { ... };
    (
        #[value_type=$value_type:ty]
        #[flag_type=$flag_type:ty]
        $(#[$enum_attrs:meta])*
        $vis:vis enum $enum_name:ident {
            $(
                #[term(cv=$cv:ident, accession=$accession:literal, name=$term_name:literal, flags=$flags:tt, parents=$parents:tt)]
                $(#[$variant_attrs:meta])*
                $variant:ident($value_type2:ty)
            ),*
            $(,)?
        }
    ) => { ... };
}