macro_rules! yikes_intenum {
(
$( #[$enum_attr:meta] )*
pub enum $name:ident($ty:ty) {
$(
$( #[$variant_attr:meta] )*
$variant:ident = $value:expr
),+ $(,)?
}
) => { ... };
}Expand description
A macro that implements useful functionality on integer-based enums.
yikes_intenum::yikes_intenum! {
/// IP datagram encapsulated protocol.
pub enum Protocol(u8) {
HopByHop = 0x00,
Icmp = 0x01,
Igmp = 0x02,
Tcp = 0x06,
Udp = 0x11,
Ipv6Route = 0x2b,
Ipv6Frag = 0x2c,
IpSecEsp = 0x32,
IpSecAh = 0x33,
Icmpv6 = 0x3a,
Ipv6NoNxt = 0x3b,
Ipv6Opts = 0x3c
}
}