[−][src]Macro enum_map::enum_map
Enum map constructor.
This macro allows to create a new enum map in a type safe way. It takes
a list of ,
separated pairs separated by =>
. Left side is |
separated list of enum keys, or _
to match all unmatched enum keys,
while right side is a value.
Examples
use enum_map::{enum_map, Enum}; #[derive(Enum)] enum Example { A, B, C, D, } fn main() { let enum_map = enum_map! { Example::A | Example::B => 1, Example::C => 2, _ => 3, }; assert_eq!(enum_map[Example::A], 1); assert_eq!(enum_map[Example::B], 1); assert_eq!(enum_map[Example::C], 2); assert_eq!(enum_map[Example::D], 3); }