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.

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

Procedural derive generating enum_map::Enum implementation.