linearize

Crates.iolinearize
lib.rslinearize
version0.1.4
sourcesrc
created_at2024-11-21 11:13:09.655508+00
updated_at2025-02-12 12:36:30.262405+00
descriptionTypes that are enumerable and an array-backed map
homepage
repositoryhttps://github.com/mahkoh/linearize
max_upload_size
id1456039
size126,768
(mahkoh)

documentation

README

linearize

crates.io docs.rs MSRV

This crate provides a trait that defines an enumeration of a type and an efficient no_std map that uses such types as keys.

Example

use linearize::{Linearize, static_map};

#[derive(Linearize)]
enum Keys {
    A,
    B(bool),
}

fn main() {
    let map = static_map! {
        Keys::A => "a",
        Keys::B(false) => "b",
        Keys::B(true) => "c",
    };
    assert_eq!(map[Keys::A], "a");
    assert_eq!(map[Keys::B(true)], "c");
}

MSRV

The MSRV is max(1.83, stable - 3).

License

This project is licensed under either of

  • Apache License, Version 2.0
  • MIT License

at your option.

Commit count: 0

cargo fmt