Expand description
ยงDescription
An implementation of a set using a bit vector as an underlying representation for holding unsigned numerical elements.
It should also be noted that the amount of storage necessary for holding a
set of objects is proportional to the maximum of the objects when viewed
as a usize
.
ยงExamples
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]);
Structsยง
- BlockIter ๐
- An iterator for
BitSet
. - TwoBitPositions ๐An iterator combining two
BitSet
iterators.
Functionsยง
- blocks_for_bits ๐Computes how many blocks are needed to store that many bits
- match_words ๐
Type Aliasesยง
- MatchWords ๐