Expand description
An enum mapping type.
It is implemented using an array type, so using it is as fast as using Rust arrays.
Examples
use enum_map::{enum_map, Enum, EnumMap};
#[derive(Debug, Enum)]
enum Example {
A(bool),
B,
C,
}
let mut map = enum_map! {
Example::A(false) => 0,
Example::A(true) => 1,
Example::B => 2,
Example::C => 3,
};
map[Example::C] = 4;
assert_eq!(map[Example::A(true)], 1);
for (key, &value) in &map {
println!("{:?} has {} as value.", key, value);
}
Macros
- Enum map constructor.
Structs
- An enum mapping.
- A map iterator that moves out of map.
- An owning iterator over the values of an
EnumMap
. - Immutable enum map iterator
- Mutable map iterator
- An iterator over the values of
EnumMap
. - A mutable iterator over the values of
EnumMap
.
Traits
- Enum mapping type.
- Trait associating enum with an array.
Derive Macros
- Derive macro generating an implementation of trait
Enum
.