enum-map

Crates.ioenum-map
lib.rsenum-map
version2.7.3
sourcesrc
created_at2017-05-16 20:57:36.563826
updated_at2023-11-24 07:41:35.458027
descriptionA map with C-like enum keys represented internally as an array
homepage
repositoryhttps://codeberg.org/xfix/enum-map
max_upload_size
id14863
size82,216
Kamila Borowska (xfix)

documentation

https://docs.rs/enum-map

README

enum-map

A library providing enum map providing type safe enum array. It is implemented using regular Rust arrays, so using them is as fast as using regular Rust arrays.

This crate follows the "N minus two" MSRV policy. This means that it supports the current Rust release, as well as the two before that.

Examples

#[macro_use]
extern crate enum_map;

use enum_map::EnumMap;

#[derive(Debug, Enum)]
enum Example {
    A,
    B,
    C,
}

fn main() {
    let mut map = enum_map! {
        Example::A => 1,
        Example::B => 2,
        Example::C => 3,
    };
    map[Example::C] = 4;

    assert_eq!(map[Example::A], 1);

    for (key, &value) in &map {
        println!("{:?} has {} as value.", key, value);
    }
}
Commit count: 0

cargo fmt