Crate enum_map

Source
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
Enum map constructor.

Structs§

EnumMap
An enum mapping.
IntoIter
A map iterator that moves out of map.
IntoValues
An owning iterator over the values of an EnumMap.
Iter
Immutable enum map iterator
IterMut
Mutable map iterator
Values
An iterator over the values of EnumMap.
ValuesMut
A mutable iterator over the values of EnumMap.

Traits§

Enum
Enum mapping type.
EnumArray
Trait associating enum with an array.

Derive Macros§

Enum
Derive macro generating an implementation of trait Enum.