#map #options #vector

low-map

一个围绕选项向量(Vec)的便利包装器

1 个不稳定版本

0.1.0 2021年6月12日

2324 in 数据结构

MIT 许可证

17KB
425

LowMap

一个围绕 Vec<Option<T>> 的便利包装器。它将元素的可选存在抽象为一个非连续向量。

let mut map = LowMap::new();
map.insert(0, "hey");
map.insert(2, "hoy");
map.insert(3, "foo");
map.insert(2, "bar");

assert_eq!(map.get(0), Some(&"hey"));
assert_eq!(map.get(1), None);
assert_eq!(map.get(2), Some(&"bar"));
assert_eq!(map.get(3), Some(&"foo"));

map[2] = "hoho";
assert_eq!(map.get(2), Some(&"hoho"));

lib.rs:

一个非连续的 Vec,该向量可能为给定索引存储一个值。

之所以称为 LowMap,是因为它将给定索引映射到值,而这个索引必须很小,因为它将用作内部 Vec 的索引。

无运行时依赖