12 个版本
0.2.4 | 2024年8月8日 |
---|---|
0.2.3 | 2024年1月5日 |
0.2.2 | 2023年12月18日 |
0.2.0 | 2023年6月21日 |
0.1.4 | 2019年12月24日 |
#138 in Rust 模式
93,219 个月下载量
在 76 个crate中使用 (直接使用2个)
8KB
st-map
堆分配映射。
用法
use st_map::StaticMap;
#[derive(Debug, PartialEq, Default, StaticMap)]
struct BrowserData<T: Default> {
chrome: T,
safari: T,
android: T,
}
#[test]
fn usage_iter() {
let mut data = BrowserData {
chrome: true,
safari: false,
android: true,
};
assert_eq!(
data.iter().collect::<Vec<_>>(),
vec![("chrome", &true), ("safari", &false), ("android", &true),]
);
assert_eq!(
data.iter_mut().collect::<Vec<_>>(),
vec![
("chrome", &mut true),
("safari", &mut false),
("android", &mut true),
]
);
assert_eq!(
data.into_iter().collect::<Vec<_>>(),
vec![("chrome", true), ("safari", false), ("android", true),]
);
}
#[test]
fn usage_map() {
let data = BrowserData {
chrome: 20000,
safari: 10000,
..Default::default()
};
assert_eq!(
data.map_value(|v| v > 15000),
BrowserData {
chrome: true,
safari: false,
android: false,
}
);
}
许可证
Apache-2.0
依赖项
~0.4–0.8MB
~19K SLoC