1 stable release
Uses old Rust 2015
1.0.0 | Sep 3, 2022 |
---|
#2075 in Database interfaces
181,976 downloads per month
Used in 6 crates
(3 directly)
19KB
397 lines
typemap-ors
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));
}
lib.rs
:
A type-based key value store where one value type is allowed for each key.
Dependencies
~16KB