11 个版本 (1 个稳定版)

使用旧的 Rust 2015

1.0.0 2017年10月21日
0.6.0 2017年9月2日
0.5.0 2017年8月27日
0.3.2 2017年1月20日
0.2.1 2016年3月28日

#1212 in 算法

Download history • Rust 包仓库 200/week @ 2024-03-01 • Rust 包仓库 359/week @ 2024-03-08 • Rust 包仓库 293/week @ 2024-03-15 • Rust 包仓库 292/week @ 2024-03-22 • Rust 包仓库 437/week @ 2024-03-29 • Rust 包仓库 311/week @ 2024-04-05 • Rust 包仓库 314/week @ 2024-04-12 • Rust 包仓库 360/week @ 2024-04-19 • Rust 包仓库 325/week @ 2024-04-26 • Rust 包仓库 338/week @ 2024-05-03 • Rust 包仓库 310/week @ 2024-05-10 • Rust 包仓库 299/week @ 2024-05-17 • Rust 包仓库 302/week @ 2024-05-24 • Rust 包仓库 253/week @ 2024-05-31 • Rust 包仓库 296/week @ 2024-06-07 • Rust 包仓库 451/week @ 2024-06-14 • Rust 包仓库

1,365 每月下载量
11 个crate中使用 (8 个直接使用)

MIT 协议

18KB
217

bidir-map-rs TravisCI 构建状态 AppVeyorCI 构建状态 许可

Rust 的双向映射

文档


lib.rs:

Rust 的双向映射。

示例

use bidir_map::{BidirMap, ByFirst, BySecond};
use std::default::Default;

let mut map = BidirMap::new();
assert_eq!(map, Default::default());

map.insert(1, "a");

assert_eq!(map.get_by_first(&1), Some(&"a"));
assert_eq!(map.get_by_first(&2), None);
assert_eq!(map.get_by_second(&"a"), Some(&1));
assert_eq!(map.get_by_second(&"b"), None);

assert_eq!(map[ByFirst(&1)], "a");
assert_eq!(map[BySecond(&"a")], 1);
// These would panic:
//   map[ByFirst(&2)];
//   map[BySecond(&"b")];

无运行时依赖