Macro tmod_enum

Source
macro_rules! tmod_enum {
    ($tmod_enum_name:ident, $prefix:expr, $( {$($optinfo:tt)*} ),* $(,)*) => { ... };
    (
        $tmod_enum_name:ident, $prefix:expr,
        @parse
        {$($eout:tt)*},
        ($user_value:ident){$($pout:tt)*};
    ) => { ... };
    (
        $tmod_enum_name:ident, $prefix:expr,
        @parse {$($eout:tt)*}, ($puser_value:ident){$($pout:tt)*};
            $opt:ident, $parse:ident, $t:ty, [TARGET_MODIFIER] |
        $($tail:tt)*
    ) => { ... };
    (
        $tmod_enum_name:ident, $prefix:expr,
        @parse {$($eout:tt)*}, ($puser_value:ident){$($pout:tt)*};
            $opt:ident, $parse:ident, $t:ty, [] |
        $($tail:tt)*
    ) => { ... };
}