6 releases (stable)
1.2.0 | Aug 24, 2023 |
---|---|
1.1.1 | May 18, 2022 |
1.1.0 | Nov 12, 2021 |
0.1.6 | Sep 29, 2021 |
0.1.4 |
|
#609 in Algorithms
6,137 downloads per month
Used in 5 crates
13KB
258 lines
bit-iter
Iterate forwards or backwards over the positions of bits set in a word.
A BitIter
may be constructed from any integral value, and returns the
positions of the 1
bits in ascending order.
BitIter
implements DoubleEndedIterator
, so you can iterate over the
positions of the set bits in descending order too.
Example
fn main() {
use bit_iter::*;
let x : u32 = 0x10001;
for b in BitIter::from(x) {
println!("Bit {} is set.", b);
}
println!("In reverse order:");
for b in BitIter::from(x).rev() {
println!("Bit {} is set.", b);
}
}
Output:
Bit 0 is set.
Bit 16 is set.
In reverse order:
Bit 16 is set.
Bit 0 is set.
Minimum supported Rust version (MSRV) policy
bit-iter
's current minimum supported Rust version (MSRV) is 1.53.0.
bit-iter
is guaranteed to compile with that version. It might also compile
with older versions, but that could change in a future patch release.
If the MSRV of bit-iter
changes, that will be done in a minor version
release (e.g. 1.2.x -> 1.3.0).