macro_rules! create_ordinalized_enum {
( $name:ident $( ,$variants:ident )+ $(,)* ) => { ... };
( $name:ident $( ,$variants:ident = $values:expr )+ $(,)* ) => { ... };
( $name:ident: $t:ident $( ,$variants:ident )+ $(,)* ) => { ... };
( $name:ident: $t:ident $( ,$variants:ident = $values:expr )+ $(,)* ) => { ... };
( $v:vis $name:ident $( ,$variants:ident )+ $(,)* ) => { ... };
( $v:vis $name:ident $( ,$variants:ident = $values:expr )+ $(,)* ) => { ... };
( $v:vis $name:ident: $t:ident $( ,$variants:ident )+ $(,)* ) => { ... };
( $v:vis $name:ident: $t:ident $( ,$variants:ident = $values:expr )+ $(,)* ) => { ... };
}
Create an enum and implement a ordinal
method, as well as from_ordinal
and from_ordinal_unsafe
associated functions for it. The new enum also implements Debug
, PartialOrd
, Ord
, PartialEq
, Clone
, Eq
, Hash
and Copy
traits.