11个版本 (7个重大更新)
使用旧的Rust 2015
0.8.0 | 2024年7月16日 |
---|---|
0.6.0 | 2024年6月29日 |
0.5.3 | 2022年7月23日 |
0.5.2 | 2020年5月6日 |
0.2.0 | 2015年6月4日 |
#46 在 数据结构 中排名
每月3,952,724次下载
用于 5,163 个crate (98 直接使用)
53KB
937 行
使用方法
将以下内容添加到您的Cargo.toml中
[dependencies]
bit-set = "0.8"
从Rust 2018开始,extern crate
不再是强制性的。如果您的版本较旧(Rust 2015),请将其添加到crate根目录
extern crate bit_set;
如果您想使用serde
,请使用serde
功能启用它
[dependencies]
bit-set = { version = "0.8", features = ["serde"] }
如果您想在#![no_std]
的程序中使用bit-set,只需删除默认功能
[dependencies]
bit-set = { version = "0.8", default-features = false }
描述
使用位向量作为底层表示来存储无符号数值元素的集合实现。
还应注意的是,存储对象集合所需的空间与对象的最大值成正比,当对象被视为usize
时。
示例
use bit_set::BitSet;
// It's a regular set
let mut s = BitSet::new();
s.insert(0);
s.insert(3);
s.insert(7);
s.remove(7);
if !s.contains(7) {
println!("There is no 7");
}
// Can initialize from a `BitVec`
let other = BitSet::from_bytes(&[0b11010000]);
s.union_with(&other);
// Print 0, 1, 3 in some order
for x in s.iter() {
println!("{}", x);
}
// Can convert back to a `BitVec`
let bv = s.into_bit_vec();
assert!(bv[3]);
许可证
双许可,以兼容Rust项目。
Apache License Version 2.0许可: http://apache.ac.cn/licenses/LICENSE-2.0,或MIT许可证: http://opensource.org/licenses/MIT,任选其一。
依赖关系
~105–270KB