typemap-ors

Crates.iotypemap-ors
lib.rstypemap-ors
version1.0.0
sourcesrc
created_at2022-09-03 14:45:20.042154
updated_at2022-09-03 14:45:20.042154
descriptionA typesafe store for many value types.
homepage
repositoryhttps://github.com/orphanage-rs/rust-typemap
max_upload_size
id657914
size19,775
Anton Whalley (No9)

documentation

README

typemap-ors CI

A typesafe store keyed by types and containing different types of values.

Documentation

It provides functionality similar to AnyMap, but is more flexible because it allows for key-value pairs, rather than enforcing that keys and values are the same type.

Key-value associations are defined through the Key trait, which uses an associated type parameter and trait coherence rules to enforce the invariants of TypeMap.

Example

extern crate typemap;
use typemap::{TypeMap, Key};

struct KeyType;

#[derive(Debug, PartialEq)]
struct Value(i32);

impl Key for KeyType { type Value = Value; }

#[test] fn test_pairing() {
    let mut map = TypeMap::new();
    map.insert::<KeyType>(Value(42));
    assert_eq!(*map.get::<KeyType>().unwrap(), Value(42));
}
Commit count: 90

cargo fmt