[][src]Macro numid::numid

macro_rules! numid {
    ($(#[$attr:meta])* $vis:vis struct $name:ident) => { ... };
    ($(#[$attr:meta])* $vis:vis struct $name:ident -> $init_val:expr) => { ... };
    ($(#[$attr:meta])* $vis:vis struct $name:ident($ty:ty)) => { ... };
    ($(#[$attr:meta])* $vis:vis struct $name:ident($ty:ty) -> $init_val:expr) => { ... };
    ($(#[$attr:meta])* $(@$mattr:ident)+ $vis:vis struct $name:ident) => { ... };
    ($(#[$attr:meta])* $(@$mattr:ident)+ $vis:vis struct $name:ident -> $init_val:expr) => { ... };
    ($(#[$attr:meta])* $(@$mattr:ident)+ $vis:vis struct $name:ident($ty:ty)) => { ... };
    ($(#[$attr:meta])* $(@$mattr:ident)* $vis:vis struct $name:ident($ty:ty) -> $init_val:expr) => { ... };
}

Examples

use numid::numid;

numid!(struct Id); // basic id
numid!(pub struct Id2); // public
numid!(pub(crate) struct Id3); // restricted public
numid!(#[doc(hidden)] struct Id4); // with attribute
numid!(struct Id5 -> 100); // init const specified
numid!(struct Id6(u128)); // type specified
numid!(@CloneIsReproduce struct Id7); // with in-macro special attribute
numid!(#[doc(hidden)] @CloneIsNew pub struct Id8(u32) -> 10); // all the thing you can want